summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@digia.com>2014-02-07 14:16:22 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-10 12:49:06 +0100
commitdf86721bb4028ae09c5ce7d71a89808b8f2ccdcd (patch)
tree404f8618430dff99be42b041fd64ebbcba65514e /src/plugins
parenta7b8ef08415b8056661c3db5950842ee546891b9 (diff)
Cocoa: Neuter -[QNSView cancelOperation:] for normal windows
QNSWindow inherits QNSPanel regardless of the kind of QWindow. With NSPanels, pressing escape is equivalent to dismissing the panel. That is not the behavior we aim at for normal toplevel QWindows. Task-number: QTBUG-36694 Change-Id: I1a1c138183cc43c968249442021f334cd37f7ce0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index b272b4920b..d4d345f61d 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -1371,6 +1371,12 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
[self tryToPerform:aSelector with:self];
}
+- (void)cancelOperation:(id)sender
+{
+ if (!m_platformWindow || m_platformWindow->windowShouldBehaveAsPanel())
+ [super cancelOperation:sender];
+}
+
- (void) insertText:(id)aString replacementRange:(NSRange)replacementRange
{
Q_UNUSED(replacementRange)