Don't initialy minimize a window if it has some main window open,
but it was internall optimized away (e.g. one group transient plasma dialog open, minimized, open another group transient dialog from plasma). svn path=/trunk/KDE/kdebase/workspace/; revision=798569
This commit is contained in:
parent
0af83a41ec
commit
afa5700c7b
3 changed files with 12 additions and 1 deletions
1
client.h
1
client.h
|
@ -72,6 +72,7 @@ class Client
|
|||
bool groupTransient() const;
|
||||
bool wasOriginallyGroupTransient() const;
|
||||
ClientList mainClients() const; // call once before loop , is not indirect
|
||||
ClientList allMainClients() const; // call once before loop , is indirect
|
||||
bool hasTransient( const Client* c, bool indirect ) const;
|
||||
const ClientList& transients() const; // is not indirect
|
||||
void checkTransient( Window w );
|
||||
|
|
|
@ -951,6 +951,14 @@ ClientList Client::mainClients() const
|
|||
return result;
|
||||
}
|
||||
|
||||
ClientList Client::allMainClients() const
|
||||
{
|
||||
ClientList result = mainClients();
|
||||
foreach( const Client* cl, result )
|
||||
result += cl->allMainClients();
|
||||
return result;
|
||||
}
|
||||
|
||||
Client* Client::findModal( bool allow_itself )
|
||||
{
|
||||
for( ClientList::ConstIterator it = transients().begin();
|
||||
|
|
|
@ -345,7 +345,9 @@ bool Client::manage( Window w, bool isMapped )
|
|||
if( !init_minimize && isTransient() && mainClients().count() > 0 )
|
||||
{
|
||||
bool visible_parent = false;
|
||||
ClientList mainclients = mainClients();
|
||||
// use allMainClients(), to include also main clients of group transients
|
||||
// that have been optimized out in Client::checkGroupTransients()
|
||||
ClientList mainclients = allMainClients();
|
||||
for( ClientList::ConstIterator it = mainclients.begin();
|
||||
it != mainclients.end();
|
||||
++it )
|
||||
|
|
Loading…
Reference in a new issue