diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2011-04-06 09:07:08 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2011-04-06 11:15:08 (GMT) |
commit | 32228c4f2b3419a35d1623377050ef72edf73c92 (patch) | |
tree | a758a585ecd8d07d221fb09cc1173eeeb4170639 /tools/porting/src/parser.cpp | |
parent | 2e0b5644e17f22ef3fc24ce4c762449149b24af6 (diff) | |
download | Qt-32228c4f2b3419a35d1623377050ef72edf73c92.zip Qt-32228c4f2b3419a35d1623377050ef72edf73c92.tar.gz Qt-32228c4f2b3419a35d1623377050ef72edf73c92.tar.bz2 |
Cocoa: p1 bug fix: revert use of subWindowStacking
This reverts commit 3c2373d7ea9bc91bb537c0725984d19ad0fbab01.
After finding yet another bug related to cocoa child windows
(QTBUG-17738), we have no other option than to admit it was a wrong
move to use the API in the first place. Had we only known how many
side-effects and hidden bugs it would introduce. The original problem
we tried to solve were the cases where a stays-on-top parent window
executed a modal child dialog. This child should always stay on top of
its parent, but Cocoa would insist on pushing the window down to the modal
window level upon activating/deactivating the application. Some window
systems will always stack a window child on top of the parent, while
others (X11) seems to be more selective on this issue. On Mac, we already
stack windows a bit differently, thinking first and foremost on tool
windows.
Since this change is going into a patch release (which is debatable,
since this changes behaviour, but p1 is a p1), we choose to add in a
backdoor for those users who by chance depend on this behaviour. Setting
the env var QT_MAC_USE_CHILDWINDOWS=1 will give you the old code
path, but we plan to remove this for Qt-4.8.
Also, this patch does fix the original bug described above by overriding
the setLevel method in NSWindow, and refuse Cocoa to level down
stays-on-top modal windows.
Diffstat (limited to 'tools/porting/src/parser.cpp')
0 files changed, 0 insertions, 0 deletions