ensure to show clients that need sessionInteract

transients of minimized windows are not shown, thus missed
the sessionSavin branch
since window input is also largely blocked (eg. taskbar!)
they cannot easily be unshown (including their transients)
and thus block logout forever

REVIEW: 115955
This commit is contained in:
Thomas Lübking 2014-02-22 15:55:56 +01:00
parent 2501be4465
commit a0a976885c

View file

@ -453,7 +453,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
init_minimize = false; // SELI TODO: Even e.g. for NET::Utility?
}
// If a dialog is shown for minimized window, minimize it too
if (!init_minimize && isTransient() && mainClients().count() > 0) {
if (!init_minimize && isTransient() && mainClients().count() > 0 && !workspace()->sessionSaving()) {
bool visible_parent = false;
// Use allMainClients(), to include also main clients of group transients
// that have been optimized out in Client::checkGroupTransients()
@ -568,6 +568,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
for (ClientList::ConstIterator it = mainclients.constBegin();
it != mainclients.constEnd(); ++it) {
(*it)->setSessionInteract(true);
(*it)->unminimize();
}
} else if (allow) {
// also force if activation is allowed