assign last_window prior to ++newp, so we don't try to stack windows with

2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): assign last_window
	prior to ++newp, so we don't try to stack windows with respect to
	themselves. Fixes some obscure stacking bugs.
This commit is contained in:
Havoc Pennington 2002-02-09 17:41:42 +00:00 committed by Havoc Pennington
parent 339bdf8dd2
commit 7b9eccb489
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2002-02-09 Havoc Pennington <hp@pobox.com>
* src/stack.c (meta_stack_sync_to_server): assign last_window
prior to ++newp, so we don't try to stack windows with respect to
themselves. Fixes some obscure stacking bugs.
2002-02-09 Havoc Pennington <hp@pobox.com> 2002-02-09 Havoc Pennington <hp@pobox.com>
* src/theme-parser.c: try to make more error message strings the * src/theme-parser.c: try to make more error message strings the

View File

@ -660,7 +660,7 @@ meta_stack_sync_to_server (MetaStack *stack)
/* Try to do minimal window moves to get the stack in order */ /* Try to do minimal window moves to get the stack in order */
/* A point of note: these arrays include frames not client windows, /* A point of note: these arrays include frames not client windows,
* so if a client window has changed frame since last_root_children_stacked * so if a client window has changed frame since last_root_children_stacked
* as saved, then we may have inefficiency, but I don't think things * was saved, then we may have inefficiency, but I don't think things
* break... * break...
*/ */
const Window *old_stack = (Window *) stack->last_root_children_stacked->data; const Window *old_stack = (Window *) stack->last_root_children_stacked->data;
@ -680,8 +680,8 @@ meta_stack_sync_to_server (MetaStack *stack)
{ {
/* Stacks are the same here, move on */ /* Stacks are the same here, move on */
++oldp; ++oldp;
++newp;
last_window = *newp; last_window = *newp;
++newp;
} }
else if (meta_display_lookup_x_window (stack->screen->display, else if (meta_display_lookup_x_window (stack->screen->display,
*oldp) == NULL) *oldp) == NULL)