diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-01-07 09:38:52 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-01-07 09:51:18 (GMT) |
commit | 4d786b6961f23af6edccf75c6b41267285fefcda (patch) | |
tree | fd6018118799f4a0297d338d33b3eda461b72c3a /src/gui/mac | |
parent | 58112b1e251c03b0a72511508712f9a67ce84d25 (diff) | |
download | Qt-4d786b6961f23af6edccf75c6b41267285fefcda.zip Qt-4d786b6961f23af6edccf75c6b41267285fefcda.tar.gz Qt-4d786b6961f23af6edccf75c6b41267285fefcda.tar.bz2 |
Cocoa: problems quitting application when not using qApp::exec
This problem has been around before. At that time it had to do
with what part of the application received the kEAQuit apple event.
In Qt-4.7 we ensure that NSApplication gets run at least once
before we do any other event processing in Qt. That way the menu bar
gets fully initialized. The backside of the coin is that NSApplication
will not let the quit menu send a terminate action to the menu nibs file
owner (qmenuloader_mac.mm) when a modal window is showing on screen.
This is normally expected behaviour, but in Qt we allow the user to quit
when just a single window/dialog is showing on screen.
This fix remaps the quit items target from files owner to first responder.
That way we can catch the terminate at the window/responder beeing that,
and terminate as needed.
Task-number: QTBUG-7197
Reviewed-by: Prasanth
Diffstat (limited to 'src/gui/mac')
-rw-r--r-- | src/gui/mac/qt_menu.nib/classes.nib | 16 | ||||
-rw-r--r-- | src/gui/mac/qt_menu.nib/info.nib | 4 | ||||
-rw-r--r-- | src/gui/mac/qt_menu.nib/keyedobjects.nib | bin | 5567 -> 5560 bytes |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/gui/mac/qt_menu.nib/classes.nib b/src/gui/mac/qt_menu.nib/classes.nib index fed50a3..0031e0e 100644 --- a/src/gui/mac/qt_menu.nib/classes.nib +++ b/src/gui/mac/qt_menu.nib/classes.nib @@ -5,14 +5,6 @@ <key>IBClasses</key> <array> <dict> - <key>CLASS</key> - <string>FirstResponder</string> - <key>LANGUAGE</key> - <string>ObjC</string> - <key>SUPERCLASS</key> - <string>NSObject</string> - </dict> - <dict> <key>ACTIONS</key> <dict> <key>hide</key> @@ -52,6 +44,14 @@ <key>SUPERCLASS</key> <string>NSResponder</string> </dict> + <dict> + <key>CLASS</key> + <string>FirstResponder</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> </array> <key>IBVersion</key> <string>1</string> diff --git a/src/gui/mac/qt_menu.nib/info.nib b/src/gui/mac/qt_menu.nib/info.nib index 768cb8b..02e5cca 100644 --- a/src/gui/mac/qt_menu.nib/info.nib +++ b/src/gui/mac/qt_menu.nib/info.nib @@ -3,7 +3,7 @@ <plist version="1.0"> <dict> <key>IBFramework Version</key> - <string>670</string> + <string>672</string> <key>IBOldestOS</key> <integer>5</integer> <key>IBOpenObjects</key> @@ -11,7 +11,7 @@ <integer>57</integer> </array> <key>IBSystem Version</key> - <string>9G55</string> + <string>9L31a</string> <key>targetFramework</key> <string>IBCocoaFramework</string> </dict> diff --git a/src/gui/mac/qt_menu.nib/keyedobjects.nib b/src/gui/mac/qt_menu.nib/keyedobjects.nib Binary files differindex 18a6648..3edb0ed 100644 --- a/src/gui/mac/qt_menu.nib/keyedobjects.nib +++ b/src/gui/mac/qt_menu.nib/keyedobjects.nib |