summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qcocoawindow_mac.mm
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-05-24 23:58:54 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-05-24 23:58:54 (GMT)
commit19038ba0847d3b8ed476d8c3c1d29332d4f80677 (patch)
tree0374a25291e47d576dc9c45ef43acd7d830195cc /src/gui/kernel/qcocoawindow_mac.mm
parent641c7cbdc52f84c07cf5bb628840bd6072e64764 (diff)
parentbfff04ba4fab92e1cfa57954c9df2d3b5ed807ef (diff)
downloadQt-19038ba0847d3b8ed476d8c3c1d29332d4f80677.zip
Qt-19038ba0847d3b8ed476d8c3c1d29332d4f80677.tar.gz
Qt-19038ba0847d3b8ed476d8c3c1d29332d4f80677.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/gui/kernel/qcocoawindow_mac.mm')
-rw-r--r--src/gui/kernel/qcocoawindow_mac.mm13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gui/kernel/qcocoawindow_mac.mm b/src/gui/kernel/qcocoawindow_mac.mm
index 89f481f..8e62f02 100644
--- a/src/gui/kernel/qcocoawindow_mac.mm
+++ b/src/gui/kernel/qcocoawindow_mac.mm
@@ -128,12 +128,19 @@ QT_USE_NAMESPACE
- (void)sendEvent:(NSEvent *)event
{
- [self retain];
-
QWidget *widget = [[QT_MANGLE_NAMESPACE(QCocoaWindowDelegate) sharedDelegate] qt_qwidgetForWindow:self];
+
+ // Cocoa can hold onto the window after we've disavowed its knowledge. So,
+ // if we get sent an event afterwards just have it go through the super's
+ // version and don't do any stuff with Qt.
+ if (!widget) {
+ [super sendEvent:event];
+ return;
+ }
+
+ [self retain];
QT_MANGLE_NAMESPACE(QCocoaView) *view = static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(qt_mac_nativeview_for(widget));
Qt::MouseButton mouseButton = cocoaButton2QtButton([event buttonNumber]);
-
// sometimes need to redirect mouse events to the popup.
QWidget *popup = qAppInstance()->activePopupWidget();
if (popup && popup != widget) {