diff options
author | Filipe Azevedo <filipe.azevedo@kdab.com> | 2015-03-12 14:52:13 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2015-03-16 14:11:14 +0000 |
commit | d178fd0bb8ccf6299e9c65cb3d1aac4969561e25 (patch) | |
tree | f7d3a4e8b833747b510eb0a92482539c697354e3 /src | |
parent | 7212b52e85f254cb079698ee2d63b0444a900466 (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.mm | 9 |
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, |