summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qcoregraphics.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qcoregraphics.mm')
-rw-r--r--src/gui/painting/qcoregraphics.mm9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gui/painting/qcoregraphics.mm b/src/gui/painting/qcoregraphics.mm
index 1125a9183c..0030e8e29c 100644
--- a/src/gui/painting/qcoregraphics.mm
+++ b/src/gui/painting/qcoregraphics.mm
@@ -162,12 +162,12 @@ QT_END_NAMESPACE
if (icon.isNull())
return nil;
- auto nsImage = [[NSImage alloc] initWithSize:NSZeroSize];
-
auto availableSizes = icon.availableSizes();
if (availableSizes.isEmpty() && size > 0)
availableSizes << QSize(size, size);
+ auto nsImage = [[[NSImage alloc] initWithSize:NSZeroSize] autorelease];
+
for (QSize size : qAsConst(availableSizes)) {
QImage image = icon.pixmap(size).toImage();
if (image.isNull())
@@ -182,12 +182,15 @@ QT_END_NAMESPACE
[nsImage addRepresentation:[imageRep autorelease]];
}
+ if (!nsImage.representations.count)
+ return nil;
+
[nsImage setTemplate:icon.isMask()];
if (size)
nsImage.size = CGSizeMake(size, size);
- return [nsImage autorelease];
+ return nsImage;
}
@end