summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2018-12-12 14:59:48 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2018-12-23 09:23:50 +0000
commitf0dd6655e1df27dbb10bc43e0787d9328800c93a (patch)
tree663ec44665ff10d67ab00e3c05d83f0afd7d507c /src/plugins
parentfb67ac6368aeb9547cc78551708e4ed0d9e4bbfd (diff)
Fix QSystemTrayIcon stale pointer access
The child imageCell is a NSView and may be retained by Cocoa, which means it may outlive the parent QNSStatusItem. Clear its parent pointer to avoid referencing a stale pointer. Task-number: QTBUG-47929 Change-Id: I6078070b8c9f512ecd034fee4e54b1d8282dabdf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 3a7ac60424..4982f5ee05 100644
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -372,6 +372,7 @@ QT_END_NAMESPACE
- (void)dealloc {
[[NSStatusBar systemStatusBar] removeStatusItem:item];
[[NSNotificationCenter defaultCenter] removeObserver:imageCell];
+ imageCell.parent = nil;
[imageCell release];
[item release];
[super dealloc];