WelcomeScreen: Don't rely on image format auto-detection

The examples and marketplace pages show images that are decoded from
data buffers. This happened without specifying the encoding format,
which triggers image auto-detection.

The negligible overhead of the auto-detection is usually not a problem,
but the probing of image QImageIOHandlers that goes along with auto-
detection can emit warnings. A concrete example is a warning in the TGA
plugin which was added in Qt 5.15.1.

Task-number: QTCREATORBUG-24853
Change-Id: I596604bde7621acf92e825f45e0c23ac4e90b78d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Alessandro Portale
2020-10-27 13:06:58 +01:00
parent f487e471aa
commit b77318cb74
2 changed files with 4 additions and 2 deletions

View File

@@ -33,6 +33,7 @@
#include <utils/qtcassert.h>
#include <QDesktopServices>
#include <QFileInfo>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
@@ -380,7 +381,8 @@ void SectionedProducts::onImageDownloadFinished(QNetworkReply *reply)
if (reply->error() == QNetworkReply::NoError) {
const QByteArray data = reply->readAll();
QPixmap pixmap;
if (pixmap.loadFromData(data)) {
const QString imageFormat = QFileInfo(reply->request().url().fileName()).suffix();
if (pixmap.loadFromData(data, imageFormat.toLatin1())) {
const QString url = reply->request().url().toString();
QPixmapCache::insert(url, pixmap.scaled(ProductListModel::defaultImageSize,
Qt::KeepAspectRatio, Qt::SmoothTransformation));