when adjusting the trasient lists, set them, dont leave them hanging into space
This commit is contained in:
parent
fb893e8dcd
commit
b18f5f1d2b
1 changed files with 5 additions and 2 deletions
|
@ -186,6 +186,7 @@ void client_manage(Window window)
|
||||||
|
|
||||||
client_list = g_slist_append(client_list, client);
|
client_list = g_slist_append(client_list, client);
|
||||||
stacking_list = g_list_append(stacking_list, client);
|
stacking_list = g_list_append(stacking_list, client);
|
||||||
|
g_assert(!g_hash_table_lookup(client_map, (gpointer)client->window));
|
||||||
g_hash_table_insert(client_map, (gpointer)window, client);
|
g_hash_table_insert(client_map, (gpointer)window, client);
|
||||||
|
|
||||||
/* update the focus lists */
|
/* update the focus lists */
|
||||||
|
@ -548,11 +549,13 @@ void client_update_transient_for(Client *self)
|
||||||
if (c != self->transient_for) {
|
if (c != self->transient_for) {
|
||||||
if (self->transient_for)
|
if (self->transient_for)
|
||||||
/* remove from old parent */
|
/* remove from old parent */
|
||||||
g_slist_remove(self->transient_for->transients, self);
|
self->transient_for->transients =
|
||||||
|
g_slist_remove(self->transient_for->transients, self);
|
||||||
self->transient_for = c;
|
self->transient_for = c;
|
||||||
if (self->transient_for)
|
if (self->transient_for)
|
||||||
/* add to new parent */
|
/* add to new parent */
|
||||||
g_slist_append(self->transient_for->transients, self);
|
self->transient_for->transients =
|
||||||
|
g_slist_append(self->transient_for->transients, self);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue