summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnswindow.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-06-26 17:40:58 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-06-29 12:21:59 +0000
commit92cfa3dfa638b193bf9d754dc24016f9ddb74d0d (patch)
treefd6fd6657341ef6be8c4cc9de569cb3082f246a4 /src/plugins/platforms/cocoa/qnswindow.mm
parentd95414171fe5f13de1881ed08d2bf7bc50e6e645 (diff)
macOS: Remove workaround for crash when closing window from title bar
The platform window is now protected by a QPointer, so we don't need to juggle the NSWindow retain count. Task-number: QTBUG-37287 Change-Id: Id55ea311f0793370e248aa58cc8e383b574fbb40 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnswindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnswindow.mm14
1 files changed, 0 insertions, 14 deletions
diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm
index 3bb2c2eb3d..96c0314769 100644
--- a/src/plugins/platforms/cocoa/qnswindow.mm
+++ b/src/plugins/platforms/cocoa/qnswindow.mm
@@ -114,14 +114,7 @@ static bool isMouseEvent(NSEvent *ev)
- (void)handleWindowEvent:(NSEvent *)theEvent
{
- // The call to -[NSWindow sendEvent] may result in the window being deleted
- // (e.g., when closing the window by pressing the title bar close button).
- [self retain];
[self.window superSendEvent:theEvent];
- bool windowStillAlive = self.window != nil; // We need to read before releasing
- [self release];
- if (!windowStillAlive)
- return;
if (!self.platformWindow)
return; // Platform window went away while processing event
@@ -143,11 +136,6 @@ static bool isMouseEvent(NSEvent *ev)
self.window.delegate = nil;
}
-- (void)clearWindow
-{
- _window = nil;
-}
-
- (void)dealloc
{
_window = nil;
@@ -226,7 +214,6 @@ static const bool kNoDefer = NO;
- (void)dealloc
{
- [_helper clearWindow];
[_helper release];
_helper = nil;
[super dealloc];
@@ -364,7 +351,6 @@ static const bool kNoDefer = NO;
- (void)dealloc
{
- [_helper clearWindow];
[_helper release];
_helper = nil;
[super dealloc];