diff options
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.mm | 5 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index c4398622e8..7fa3adc521 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -520,7 +520,10 @@ NSToolbar *QCocoaIntegration::toolbar(QWindow *window) const void QCocoaIntegration::setWindow(NSWindow* nsWindow, QCocoaWindow *window) { - mWindows.insert(nsWindow, window); + if (window == 0) + mWindows.remove(nsWindow); + else + mWindows.insert(nsWindow, window); } QCocoaWindow *QCocoaIntegration::window(NSWindow *window) diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 60152b56b2..d355dd0ed1 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -420,6 +420,9 @@ QCocoaWindow::~QCocoaWindow() qDebug() << "QCocoaWindow::~QCocoaWindow" << this; #endif + if (QCocoaIntegration *ci = QCocoaIntegration::instance()) + ci->setWindow(m_nsWindow, 0); + QCocoaAutoReleasePool pool; [m_nsWindow setContentView:nil]; [m_nsWindow.helper detachFromPlatformWindow]; |