Fix fix for #77341.

svn path=/trunk/kdebase/kwin/; revision=307278
This commit is contained in:
Luboš Luňák 2004-04-29 14:13:08 +00:00
parent bc8e0805a7
commit d373e84e3a
2 changed files with 4 additions and 4 deletions

View file

@ -63,7 +63,7 @@ class Client : public QObject, public KDecorationDefines
Client* findModal();
const Group* group() const;
Group* group();
void checkGroup( Group* gr = NULL );
void checkGroup( Group* gr = NULL, bool force = false );
// prefer isXXX() instead
NET::WindowType windowType( bool strict = false, int supported_types = SUPPORTED_WINDOW_TYPES_MASK ) const;

View file

@ -418,7 +418,7 @@ void Client::setTransient( Window new_transient_for_id )
assert( transient_for != NULL ); // verifyTransient() had to check this
transient_for->addTransient( this );
}
checkGroup();
checkGroup( NULL, true ); // force, because transiency has changed
workspace()->updateClientLayer( this );
}
}
@ -729,7 +729,7 @@ Client* Client::findModal()
// Client::window_group only holds the contents of the hint,
// but it should be used only to find the group, not for anything else
// Argument is only when some specific group needs to be set.
void Client::checkGroup( Group* set_group )
void Client::checkGroup( Group* set_group, bool force )
{
Group* old_group = in_group;
if( set_group != NULL )
@ -802,7 +802,7 @@ void Client::checkGroup( Group* set_group )
}
}
}
if( in_group != old_group )
if( in_group != old_group || force )
{
for( ClientList::Iterator it = transients_list.begin();
it != transients_list.end();