summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Adams <robadams@ucla.edu>2003-06-30 14:49:11 +0000
committerRob Adams <readams@src.gnome.org>2003-06-30 14:49:11 +0000
commitd08fa2961293c2bbe621c80882cd293ba17057de (patch)
tree4462754e6ca09878200c0a292a879ebf8932373c
parent311f4351201b049b178e9f2c33c968a69e106269 (diff)
downloadmetacity-d08fa2961293c2bbe621c80882cd293ba17057de.tar.gz
Update grab state when we unmaximize so double-clicking doesn't cause
2003-06-20 Rob Adams <robadams@ucla.edu> * src/window.c (meta_window_unmaximize): Update grab state when we unmaximize so double-clicking doesn't cause weird window-jumping problems. See #116292.
-rw-r--r--ChangeLog6
-rw-r--r--src/window.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 580bae38..af92479e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-06-20 Rob Adams <robadams@ucla.edu>
+
+ * 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 <robadams@ucla.edu>
* src/constraints.c (meta_window_constrain): Actually maximize
diff --git a/src/window.c b/src/window.c
index 8d11b8fa..d3595e79 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,