From fef0cc2d71e2e816cdce159c78e84d06cf9de2f6 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 7 Sep 2020 18:02:17 +0200 Subject: [PATCH] Fix some images not showing up --- src/MxcImageProvider.cpp | 19 +++++++++++++------ 1 file 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();