diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-05-24 23:58:54 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-05-24 23:58:54 (GMT) |
commit | 19038ba0847d3b8ed476d8c3c1d29332d4f80677 (patch) | |
tree | 0374a25291e47d576dc9c45ef43acd7d830195cc /src/gui/kernel/qcocoawindow_mac.mm | |
parent | 641c7cbdc52f84c07cf5bb628840bd6072e64764 (diff) | |
parent | bfff04ba4fab92e1cfa57954c9df2d3b5ed807ef (diff) | |
download | Qt-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.mm | 13 |
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) { |