when a window becomes transient for its group, it needs to have group transients removed from itself
This commit is contained in:
parent
e1081644c1
commit
edf29cfe73
1 changed files with 6 additions and 4 deletions
|
@ -1254,11 +1254,13 @@ static void client_update_transient_tree(ObClient *self,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* If the group changed then we need to remove any old group transient
|
/* If the group changed, or if we are just becoming transient for the
|
||||||
windows from our children. But if we're transient for the group, then
|
group, then we need to remove any old group transient windows
|
||||||
|
from our children. But if we were already transient for the group, then
|
||||||
other group transients are not our children. */
|
other group transients are not our children. */
|
||||||
if (oldgroup != newgroup && oldgroup != NULL &&
|
if ((oldgroup != newgroup ||
|
||||||
oldparent != OB_TRAN_GROUP)
|
(newparent == OB_TRAN_GROUP && oldparent != newparent)) &&
|
||||||
|
oldgroup != NULL && oldparent != OB_TRAN_GROUP)
|
||||||
{
|
{
|
||||||
for (it = self->transients; it; it = next) {
|
for (it = self->transients; it; it = next) {
|
||||||
next = g_slist_next(it);
|
next = g_slist_next(it);
|
||||||
|
|
Loading…
Reference in a new issue