diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2018-12-12 14:59:48 +0100 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2018-12-23 09:23:50 +0000 |
commit | f0dd6655e1df27dbb10bc43e0787d9328800c93a (patch) | |
tree | 663ec44665ff10d67ab00e3c05d83f0afd7d507c /src/plugins | |
parent | fb67ac6368aeb9547cc78551708e4ed0d9e4bbfd (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.mm | 1 |
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]; |