diff options
author | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-10-15 11:48:51 (GMT) |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@nokia.com> | 2010-10-15 12:44:32 (GMT) |
commit | 534ba3c7314820604ba5aeeffa6051c91e7c1d09 (patch) | |
tree | 793ce3694998bd0777c91a7c491fa79e0931c401 /src/plugins | |
parent | b44ca15776227c8d04e88e1c343a87fd6c54fee0 (diff) | |
download | Qt-534ba3c7314820604ba5aeeffa6051c91e7c1d09.zip Qt-534ba3c7314820604ba5aeeffa6051c91e7c1d09.tar.gz Qt-534ba3c7314820604ba5aeeffa6051c91e7c1d09.tar.bz2 |
Cocoa: fix child window issues (QTBUG 13867, 14420, 13126)
The main problem behind these issues is the fact that when two
windows exists in a parent-child relationship (using
the [NSWindow addChild] API), Cocoa will automatically hide both
windows even when just hiding one of them. This turns out really bad
when the child is a tool window, because those will automatically be
hidden when the application becomes deactivated. And as such, the
parent will hide as well, tool or not.
So after a LOT of investigation, involving manually trying to level windows
rather than using the addChild API, the conclusing is that we cannot do
it; Cocoa and Qt just tries to outsmart each other. So instead, we now
say that only normal windows and dialogs can be part of a parent-child
relationship (which seems to be how Apple intended it as well). The
rest, and in particular tool windows, we just ignore.
This will differ from some other platforms, but at the same time, since
tool windows are on a level above other windows on mac from before, and
the docs specifies that this can be different from platform to platform,
we see it as acceptable.
Rev-By: prasanth
Rev-By: msorvig
Diffstat (limited to 'src/plugins')
0 files changed, 0 insertions, 0 deletions