summaryrefslogtreecommitdiffstats
path: root/src/MxcImageProvider.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2020-09-07 18:02:17 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2020-09-16 23:49:17 +0200
commitfef0cc2d71e2e816cdce159c78e84d06cf9de2f6 (patch)
treebd96dba775b8af9105c893c19837b7ce7a0a2ff5 /src/MxcImageProvider.cpp
parentc2f2e8324c3fb606055bcbff25c4a83ccac45f23 (diff)
Fix some images not showing up
Diffstat (limited to 'src/MxcImageProvider.cpp')
-rw-r--r--src/MxcImageProvider.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/MxcImageProvider.cpp b/src/MxcImageProvider.cpp
index a197e4aa..b59fdff8 100644
--- a/src/MxcImageProvider.cpp
+++ b/src/MxcImageProvider.cpp
@@ -17,13 +17,16 @@ MxcImageResponse::run()
auto data = cache::image(fileName);
if (!data.isNull()) {
m_image = utils::readImage(&data);
- m_image = m_image.scaled(
- m_requestedSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
- m_image.setText("mxc url", "mxc://" + m_id);
if (!m_image.isNull()) {
- emit finished();
- return;
+ m_image = m_image.scaled(
+ m_requestedSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ m_image.setText("mxc url", "mxc://" + m_id);
+
+ if (!m_image.isNull()) {
+ emit finished();
+ return;
+ }
}
}
@@ -34,7 +37,7 @@ MxcImageResponse::run()
opts.method = "crop";
http::client()->get_thumbnail(
opts, [this, fileName](const std::string &res, mtx::http::RequestErr err) {
- if (err) {
+ if (err || res.empty()) {
nhlog::net()->error("Failed to download image {}",
m_id.toStdString());
m_error = "Failed download";
@@ -46,6 +49,10 @@ MxcImageResponse::run()
auto data = QByteArray(res.data(), res.size());
cache::saveImage(fileName, data);
m_image = utils::readImage(&data);
+ if (!m_image.isNull()) {
+ m_image = m_image.scaled(
+ m_requestedSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ }
m_image.setText("mxc url", "mxc://" + m_id);
emit finished();