diff --git a/ChangeLog b/ChangeLog index 07f00f25e..3b98b5731 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-02-09 Havoc Pennington + + * 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 * src/theme-parser.c: try to make more error message strings the diff --git a/src/stack.c b/src/stack.c index 813287ee4..9965ea403 100644 --- a/src/stack.c +++ b/src/stack.c @@ -660,7 +660,7 @@ meta_stack_sync_to_server (MetaStack *stack) /* Try to do minimal window moves to get the stack in order */ /* A point of note: these arrays include frames not client windows, * 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... */ 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 */ ++oldp; - ++newp; last_window = *newp; + ++newp; } else if (meta_display_lookup_x_window (stack->screen->display, *oldp) == NULL)