summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 33527624df..a95ff45f30 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -192,12 +192,20 @@ static QTouchDevice *touchDevice = 0;
{
CGImageRelease(m_cgImage);
+ int width = image->width();
+ int height = image->height();
+
+ if (width <= 0 || height <= 0) {
+ qWarning() << Q_FUNC_INFO <<
+ "setting invalid size" << width << "x" << height << "for qnsview image";
+ m_cgImage = 0;
+ return;
+ }
+
const uchar *imageData = image->bits();
int bitDepth = image->depth();
int colorBufferSize = 8;
int bytesPrLine = image->bytesPerLine();
- int width = image->width();
- int height = image->height();
CGColorSpaceRef cgColourSpaceRef = CGColorSpaceCreateDeviceRGB();