summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFilipe Azevedo <filipe.azevedo@kdab.com>2015-03-12 14:52:13 +0100
committerShawn Rutledge <shawn.rutledge@digia.com>2015-03-16 14:11:14 +0000
commitd178fd0bb8ccf6299e9c65cb3d1aac4969561e25 (patch)
treef7d3a4e8b833747b510eb0a92482539c697354e3 /src
parent7212b52e85f254cb079698ee2d63b0444a900466 (diff)
QCocoaWindow.mm: Avoid crash whe using native windows
When using native windows, notification were received after the platform window pointer was cleaned up, which caused crashes. Change-Id: I438fc29d1761a32a4705c4c802afe46908505756 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 970d7f6075..5877885eee 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -441,9 +441,12 @@ QCocoaWindow::~QCocoaWindow()
m_parentCocoaWindow->removeChildWindow(this);
} else if (parent()) {
[m_contentView removeFromSuperview];
- } else if (m_qtView) {
- [[NSNotificationCenter defaultCenter] removeObserver:m_qtView
- name:nil object:m_nsWindow];
+ }
+
+ // Make sure to disconnect observer in all case if view is valid
+ // to avoid notifications received when deleting when using Qt::AA_NativeWindows attribute
+ if (m_qtView) {
+ [[NSNotificationCenter defaultCenter] removeObserver:m_qtView];
}
// The QNSView object may outlive the corresponding QCocoaWindow object,