diff options
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview.mm | 12 |
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(); |