summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@digia.com>2014-01-20 09:56:24 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-21 07:03:48 +0100
commit09f54e99f2e956908f9104181e7d61fa2f6a027d (patch)
treee0284fbc49c75cbd3d02da2ac446b0646f7cc248
parenta19817082caa49309ba425e42f22637628f985d1 (diff)
Cocoa: avoid a crash for cursor in QCocoaWindow
It need to be copied. Task-number: QTBUG-35887 Change-Id: Ia165e6a8f9dc23733e53e11f9e1e98bf54e7dd20 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 56665719e8..bf5e0cfbc4 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -264,6 +264,7 @@ QCocoaWindow::~QCocoaWindow()
[m_contentView release];
[m_nsWindow release];
[m_nsWindowDelegate release];
+ [m_windowCursor release];
}
QSurfaceFormat QCocoaWindow::format() const
@@ -1059,7 +1060,10 @@ void QCocoaWindow::setWindowCursor(NSCursor *cursor)
[cursor set];
// or we can set the cursor on mouse enter/leave using tracking
// areas. This is done in QNSView, save the cursor:
- m_windowCursor = cursor;
+ if (m_windowCursor != cursor) {
+ [m_windowCursor release];
+ m_windowCursor = [cursor retain];
+ }
}
void QCocoaWindow::registerTouch(bool enable)