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:
Luboš Luňák 2006-04-10 22:11:44 +00:00
parent 77bc9cd63d
commit b7d19892d3
2 changed files with 20 additions and 2 deletions

View file

@ -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 );

View file

@ -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 )