diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-12-03 21:41:31 +0100 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-12-07 23:04:59 +0100 |
commit | 7cb25eb33c7875c913b4cb0154afd741e602d8aa (patch) | |
tree | 5e56857d8d7920141ebfd8b31a1da35ed1664ffc /src/gui/image | |
parent | 4b666553b8510fa12d0905cd10d6782e09ac5f56 (diff) |
QIconLoader::actualSize(): respect entry.scale on returned size
entryForSize() might return an entry with a scale != 1 (e.g. when
requesting the actual size for 32x32 it might return an entry with
size=16 and scale=2) but the returned size is not multiplied with this
scale so it returns a wrong size and in the case of QTBUG-114849 to a
wrong painting rect.
Pick-to: 6.6 6.5
Fixes: QTBUG-114849
Change-Id: I311e7401e61425efb20b37d13cc95c4b22d47e76
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qiconloader.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index 317d690833..c196179777 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -853,7 +853,7 @@ QSize QIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode, } else if (dir.type == QIconDirInfo::Fallback) { return QIcon(entry->filename).actualSize(size, mode, state); } else { - int result = qMin<int>(dir.size, qMin(size.width(), size.height())); + int result = qMin<int>(dir.size * dir.scale, qMin(size.width(), size.height())); return QSize(result, result); } } |