[mutter] window: Correct the anchoring of drag moving / resizing
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Correct the anchoring of drag moving / resizing
- Date: Tue, 27 May 2014 19:45:17 +0000 (UTC)
commit 4acb9024234a7e564222c5c4280c8cb2695e3a76
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed May 21 09:08:39 2014 -0400
window: Correct the anchoring of drag moving / resizing
Now that meta_window_move_resize and friends act in frame rect
coordinates, we need to convert the initial grab_anchor_window_pos
storage to be in frame rect coordinates as well.
src/core/display.c | 2 +-
src/core/window.c | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 7432250..b195cf2 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1828,7 +1828,7 @@ meta_display_begin_grab_op (MetaDisplay *display,
meta_window_get_client_root_coords (display->grab_window,
&display->grab_initial_window_pos);
- display->grab_anchor_window_pos = display->grab_initial_window_pos;
+ meta_window_get_frame_rect (display->grab_window, &display->grab_anchor_window_pos);
if (meta_is_wayland_compositor ())
meta_display_sync_wayland_input_focus (display);
diff --git a/src/core/window.c b/src/core/window.c
index 3384cc7..b291798 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3139,6 +3139,9 @@ meta_window_unmaximize_internal (MetaWindow *window,
window->display->grab_window == window)
{
window->display->grab_anchor_window_pos = window->unconstrained_rect;
+ meta_window_client_rect_to_frame_rect (window,
+ &window->display->grab_anchor_window_pos,
+ &window->display->grab_anchor_window_pos);
}
meta_window_recalc_features (window);
@@ -6553,8 +6556,8 @@ warp_grab_pointer (MetaWindow *window,
display->grab_anchor_root_y = *y;
display->grab_latest_motion_x = *x;
display->grab_latest_motion_y = *y;
- meta_window_get_client_root_coords (window,
- &display->grab_anchor_window_pos);
+ meta_window_get_frame_rect (window,
+ &display->grab_anchor_window_pos);
{
MetaBackend *backend = meta_get_backend ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]