Don't deactivate the showing desktop state when a new window is shown
that belongs to the desktop (#113552). svn path=/trunk/KDE/kdebase/workspace/; revision=528392
This commit is contained in:
parent
77bc9cd63d
commit
b7d19892d3
2 changed files with 20 additions and 2 deletions
11
client.cpp
11
client.cpp
|
@ -891,7 +891,16 @@ void Client::updateVisibility()
|
|||
}
|
||||
if( show )
|
||||
{
|
||||
if( workspace()->showingDesktop())
|
||||
bool belongs_to_desktop = false;
|
||||
for( ClientList::ConstIterator it = group()->members().begin();
|
||||
it != group()->members().end();
|
||||
++it )
|
||||
if( (*it)->isDesktop())
|
||||
{
|
||||
belongs_to_desktop = true;
|
||||
break;
|
||||
}
|
||||
if( !belongs_to_desktop && workspace()->showingDesktop())
|
||||
workspace()->resetShowingDesktop( true );
|
||||
if( isShade())
|
||||
setMappingState( IconicState );
|
||||
|
|
11
manage.cpp
11
manage.cpp
|
@ -454,7 +454,16 @@ bool Client::manage( Window w, bool isMapped )
|
|||
if( !isOnCurrentDesktop() && !isMapped && !session && ( allow || workspace()->sessionSaving()))
|
||||
workspace()->setCurrentDesktop( desktop());
|
||||
|
||||
if( workspace()->showingDesktop())
|
||||
bool belongs_to_desktop = false;
|
||||
for( ClientList::ConstIterator it = group()->members().begin();
|
||||
it != group()->members().end();
|
||||
++it )
|
||||
if( (*it)->isDesktop())
|
||||
{
|
||||
belongs_to_desktop = true;
|
||||
break;
|
||||
}
|
||||
if( !belongs_to_desktop && workspace()->showingDesktop())
|
||||
workspace()->resetShowingDesktop( false );
|
||||
|
||||
if( isOnCurrentDesktop() && !isMapped && !allow )
|
||||
|
|
Loading…
Reference in a new issue