summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-04-23 17:01:30 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-04-23 17:01:30 (GMT)
commit27f96458ba40dcbf5db4df0b0e553ca5799a13c4 (patch)
tree51903070ae0fa3afa89dce2e128f9e8e5fbb6f0e /src/gui
parent15088d236924bccee787953e04214f87392e8e55 (diff)
parent466d7562a40eb0c2cf72f57fce0bc5e9b0de37c2 (diff)
downloadQt-27f96458ba40dcbf5db4df0b0e553ca5799a13c4.zip
Qt-27f96458ba40dcbf5db4df0b0e553ca5799a13c4.tar.gz
Qt-27f96458ba40dcbf5db4df0b0e553ca5799a13c4.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: qdoc: Removed nested <ul> elements from the TOC Diacritic input broken, duplicate the base glypha (on Mac OS X carbon) Cocoa: quiting the app from the menubar may cause a crash
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp13
-rw-r--r--src/gui/widgets/qmenu_mac.mm2
2 files changed, 12 insertions, 3 deletions
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp
index f259654..a7145d4 100644
--- a/src/gui/kernel/qkeymapper_mac.cpp
+++ b/src/gui/kernel/qkeymapper_mac.cpp
@@ -756,14 +756,23 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e
return true;
}
- if (qApp->inputContext() && qApp->inputContext()->isComposing()) {
+ QInputContext *currentContext = qApp->inputContext();
+ if (currentContext && currentContext->isComposing()) {
if (ekind == kEventRawKeyDown) {
- QMacInputContext *context = qobject_cast<QMacInputContext*>(qApp->inputContext());
+ QMacInputContext *context = qobject_cast<QMacInputContext*>(currentContext);
if (context)
context->setLastKeydownEvent(event);
}
return false;
}
+ // Once we process the key down , we dont need to send the saved event again from
+ // kEventTextInputUnicodeForKeyEvent, so clear it.
+ if (currentContext && ekind == kEventRawKeyDown) {
+ QMacInputContext *context = qobject_cast<QMacInputContext*>(currentContext);
+ if (context)
+ context->setLastKeydownEvent(0);
+ }
+
//get modifiers
Qt::KeyboardModifiers modifiers;
int qtKey;
diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm
index 7645c23..e8400d6 100644
--- a/src/gui/widgets/qmenu_mac.mm
+++ b/src/gui/widgets/qmenu_mac.mm
@@ -1831,7 +1831,7 @@ void QMenuBarPrivate::macDestroyMenuBar()
menubars()->remove(tlw);
mac_menubar = 0;
- if (qt_mac_current_menubar.qmenubar == q) {
+ if (!qt_mac_current_menubar.qmenubar || qt_mac_current_menubar.qmenubar == q) {
#ifdef QT_MAC_USE_COCOA
QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *loader = getMenuLoader();
[loader removeActionsFromAppMenu];