diff options
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qicon.cpp | 3 | ||||
-rw-r--r-- | src/gui/image/qiconloader_p.h | 1 | ||||
-rw-r--r-- | src/gui/image/qimage_p.h | 4 | ||||
-rw-r--r-- | src/gui/image/qjpeghandler.cpp | 2 | ||||
-rw-r--r-- | src/gui/image/qpaintengine_pic.cpp | 2 |
5 files changed, 6 insertions, 6 deletions
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index cca8052424..f115707500 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -1170,7 +1170,8 @@ QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback) icon = *qtIconCache()->object(name); } else { QPlatformTheme * const platformTheme = QGuiApplicationPrivate::platformTheme(); - QIconEngine * const engine = platformTheme ? platformTheme->createIconEngine(name) + bool hasUserTheme = QIconLoader::instance()->hasUserTheme(); + QIconEngine * const engine = (platformTheme && !hasUserTheme) ? platformTheme->createIconEngine(name) : new QIconLoaderEngine(name); QIcon *cachedIcon = new QIcon(engine); icon = *cachedIcon; diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h index 38cf9c1736..5b0362e218 100644 --- a/src/gui/image/qiconloader_p.h +++ b/src/gui/image/qiconloader_p.h @@ -173,6 +173,7 @@ public: void updateSystemTheme(); void invalidateKey() { m_themeKey++; } void ensureInitialized(); + bool hasUserTheme() const { return !m_userTheme.isEmpty(); } private: QThemeIconInfo findIconHelper(const QString &themeName, diff --git a/src/gui/image/qimage_p.h b/src/gui/image/qimage_p.h index 7eb571900a..feeab60abd 100644 --- a/src/gui/image/qimage_p.h +++ b/src/gui/image/qimage_p.h @@ -116,7 +116,7 @@ void qInitImageConversions(); const uchar *qt_get_bitflip_array(); Q_GUI_EXPORT void qGamma_correct_back_to_linear_cs(QImage *image); -#if defined(Q_OS_WINRT) && defined(_M_ARM) // QTBUG-42038 +#if defined(_M_ARM) // QTBUG-42038 #pragma optimize("", off) #endif inline int qt_depthForFormat(QImage::Format format) @@ -163,7 +163,7 @@ inline int qt_depthForFormat(QImage::Format format) } return depth; } -#if defined(Q_OS_WINRT) && defined(_M_ARM) +#if defined(_M_ARM) #pragma optimize("", on) #endif diff --git a/src/gui/image/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp index 4ff3917fe6..c0fda647aa 100644 --- a/src/gui/image/qjpeghandler.cpp +++ b/src/gui/image/qjpeghandler.cpp @@ -929,8 +929,6 @@ bool QJpegHandlerPrivate::readJpegHeader(QIODevice *device) if (!exifData.isEmpty()) { // Exif data present int exifOrientation = getExifOrientation(exifData); - if (exifOrientation == -1) - return false; if (exifOrientation > 0) transformation = exif2Qt(exifOrientation); } diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index be2b216509..47480ebbae 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -342,7 +342,7 @@ void QPicturePaintEngine::writeCmdLength(int pos, const QRectF &r, bool corr) } br = painter()->transform().mapRect(br); if (painter()->hasClipping()) { - QRect cr = painter()->clipRegion().boundingRect(); + QRectF cr = painter()->clipBoundingRect(); br &= cr; } |