summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2013-12-10 10:02:51 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-25 16:00:03 +0100
commitf2ade01f4c0c33e070d89b473b4c0037aed9e7f3 (patch)
tree62c12f156c5d3aefed089a24e7dbcc45f34443e9 /src/plugins/platforms/cocoa/qnsview.mm
parent51572d3d8f85f8836c25d1f793e69b170672cc3c (diff)
Cocoa: QImage -> CGImage conversion cleanup
Move to one qt_mac_toCGImage function that has simple semantics and properly retains a copy of the QImage for the lifetime of the CGImage. Remove the old qt_mac_toCGImage function which had two problems: 1) It would not retain the QImage data (this was probably ok for its original use case: creating short-lived CGImages for the paint engine) 2) It had acquired a somewhat odd **datacopy out parameter for the cases where you _do_ want to retain the image data. This makes the exported image conversion function from QtMacExtras work: The CGImages it creates will no longer reference free'd memory once the QImage is deleted. Change-Id: I583040d16aefb17fc3d801d6b047a0b2a76c7f74 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 58c732de98..e246775406 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -80,7 +80,6 @@ static QTouchDevice *touchDevice = 0;
if (self) {
m_backingStore = 0;
m_maskImage = 0;
- m_maskData = 0;
m_shouldInvalidateWindowShadow = false;
m_window = 0;
m_buttons = Qt::NoButton;
@@ -106,7 +105,6 @@ static QTouchDevice *touchDevice = 0;
{
CGImageRelease(m_maskImage);
m_maskImage = 0;
- m_maskData = 0;
m_window = 0;
m_subscribesForGlobalFrameNotifications = false;
[m_inputSource release];
@@ -372,7 +370,7 @@ static QTouchDevice *touchDevice = 0;
- (BOOL) hasMask
{
- return m_maskData != 0;
+ return m_maskImage != 0;
}
- (BOOL) isOpaque
@@ -405,7 +403,7 @@ static QTouchDevice *touchDevice = 0;
dst[x] = src[x] & 0xff;
}
}
- m_maskImage = qt_mac_toCGImage(maskImage, true, &m_maskData);
+ m_maskImage = qt_mac_toCGImageMask(maskImage);
}
- (void)invalidateWindowShadowIfNeeded