From 7a3d49b88e5b0150cad7bbd281f779ace7faf806 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 8 Jun 2011 19:44:40 +0200 Subject: [PATCH] display: get button event coordinates with the helper functions --- src/core/display.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/core/display.c b/src/core/display.c index af8b1147c..8d78e7787 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -1940,6 +1940,7 @@ event_callback (XEvent *event, { Window xwindow = meta_input_event_get_window (display, event); Time evtime = meta_input_event_get_time (display, event); + gdouble ev_root_x, ev_root_y; guint n_button, state; if (window && !window->override_redirect && @@ -1981,6 +1982,10 @@ event_callback (XEvent *event, case ButtonPress: meta_input_event_get_button (display, event, &n_button); meta_input_event_get_state (display, event, &state); + meta_input_event_get_coordinates (display, event, + NULL, NULL, + &ev_root_x, + &ev_root_y); if (display->grab_op == META_GRAB_OP_COMPOSITOR) break; @@ -2081,10 +2086,10 @@ event_callback (XEvent *event, meta_window_get_position (window, &root_x, &root_y); - west = event->xbutton.x_root < (root_x + 1 * window->rect.width / 3); - east = event->xbutton.x_root > (root_x + 2 * window->rect.width / 3); - north = event->xbutton.y_root < (root_y + 1 * window->rect.height / 3); - south = event->xbutton.y_root > (root_y + 2 * window->rect.height / 3); + west = ev_root_x < (root_x + 1 * window->rect.width / 3); + east = ev_root_x > (root_x + 2 * window->rect.width / 3); + north = ev_root_y < (root_y + 1 * window->rect.height / 3); + south = ev_root_y > (root_y + 2 * window->rect.height / 3); if (north && west) op = META_GRAB_OP_RESIZING_NW; @@ -2115,8 +2120,8 @@ event_callback (XEvent *event, n_button, 0, evtime, - event->xbutton.x_root, - event->xbutton.y_root); + ev_root_x, + ev_root_y); } } else if (n_button == meta_prefs_get_mouse_button_menu()) @@ -2124,8 +2129,8 @@ event_callback (XEvent *event, if (meta_prefs_get_raise_on_click ()) meta_window_raise (window); meta_window_show_menu (window, - event->xbutton.x_root, - event->xbutton.y_root, + ev_root_x, + ev_root_y, n_button, evtime); } @@ -2172,8 +2177,8 @@ event_callback (XEvent *event, n_button, 0, evtime, - event->xbutton.x_root, - event->xbutton.y_root); + ev_root_x, + ev_root_y); } } break;