don't restack windows when they request it with an invalid sibling

This commit is contained in:
Dana Jansens 2007-07-18 17:07:54 -04:00
parent 551528c57f
commit a9065160c9

View file

@ -1067,6 +1067,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
if (e->xconfigurerequest.value_mask & CWStackMode) {
ObClient *sibling = NULL;
gulong ignore_start;
gboolean ok = TRUE;
/* get the sibling */
if (e->xconfigurerequest.value_mask & CWSibling) {
@ -1078,16 +1079,22 @@ static void event_handle_client(ObClient *client, XEvent *e)
{
sibling = WINDOW_AS_CLIENT(win);
}
else
/* an invalid sibling was specified so don't restack at
all, it won't make sense no matter what we do */
ok = FALSE;
}
if (ok) {
if (!config_focus_under_mouse)
ignore_start = event_start_ignore_all_enters();
stacking_restack_request(client, sibling,
e->xconfigurerequest.detail);
if (!config_focus_under_mouse)
event_end_ignore_all_enters(ignore_start);
}
/* if a stacking change moves the window without resizing */
/* a stacking change moves the window without resizing */
move = TRUE;
}