diff options
author | Adam Endrodi <ext-adam.endrodi@nokia.com> | 2011-01-20 16:29:46 +0200 |
---|---|---|
committer | Adam Endrodi <ext-adam.endrodi@nokia.com> | 2011-01-21 18:32:43 +0200 |
commit | f7ecd5a5bdb687b609b4b1e37b5ad0847ae8aa35 (patch) | |
tree | 5f18d4e16284fddd3b2a71b3febc25f83eede298 /tests/windowstack | |
parent | abf820ce49c4484c49408b3a448f65304b07ecb4 (diff) |
don't let mdecorator managing clients falsely
...because that prevents humhumhumhum the application making the UI appear
to be frozen. The test cases are:
1. boot, open wg, clock
2. stop and restart mc
3. try to go back to the desktop
4. it takes a very long time for us to get hold on all the windows.
therefore you can't go back to desktop, and by the time we finally
get control back the ping timer of clock has expired and we think
it's hung
5. we quickly process the accumulated events of 3) and clock is sent
to the background, setting its state to Normal
6. now we have a Normal state undecorated window managed by md
7. when you bring clock forth again, as though compareWindows() will
sort md above clock as it's supposed to do, checkStacking() lowers
it again because clock is not Hung
8. and that's it
another scenario:
1. start an app
2. kill -STOP
3. bring desktop forth via a CLIENT_MESSAGE
4. see 5. above
and yet another one:
1. start an app
2. kill -STOP
3. restart mc
4. see 4. above
* src/mcompositemanager.cpp (MCompositeManagerPrivate::checkStacking):
Clear the managed client of the decorator if we find that there's
no-one to manage.
* src/mdecoratorframe.cpp (MDecoratorFrame::setDecoratorItem):
Reset the managed client of the newly discovered decorator.
Diffstat (limited to 'tests/windowstack')
0 files changed, 0 insertions, 0 deletions