diff --git a/ChangeLog b/ChangeLog index 580bae38c..af92479ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-06-20 Rob Adams + + * src/window.c (meta_window_unmaximize): Update grab state when we + unmaximize so double-clicking doesn't cause weird window-jumping + problems. See #116292. + 2003-06-29 Rob Adams * src/constraints.c (meta_window_constrain): Actually maximize diff --git a/src/window.c b/src/window.c index 8d11b8faa..d3595e793 100644 --- a/src/window.c +++ b/src/window.c @@ -1855,6 +1855,17 @@ meta_window_unmaximize (MetaWindow *window) window->maximized = FALSE; + /* When we unmaximize, if we're doing a mouse move also we could + * get the window suddenly jumping to the upper left corner of + * the workspace, since that's where it was when the grab op + * started. So we need to update the grab state. + */ + if (meta_grab_op_is_moving (window->display->grab_op) && + window->display->grab_window == window) + { + window->display->grab_initial_window_pos = window->saved_rect; + } + meta_window_move_resize (window, TRUE, window->saved_rect.x,