[mutter/wip/xinput2r: 42/68] display: Use the grab pointer for delayed window raising
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/xinput2r: 42/68] display: Use the grab pointer for delayed window raising
- Date: Wed, 24 Oct 2012 16:12:51 +0000 (UTC)
commit 1f71cb6f1d759d92710e8e59c01b67541212cd69
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Jul 3 21:16:28 2011 +0200
display: Use the grab pointer for delayed window raising
src/core/display.c | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index eeb44bb..1f55357 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -49,6 +49,7 @@
#include "xprops.h"
#include "workspace-private.h"
#include "bell.h"
+#include "device-pointer.h"
#include "device-keyboard.h"
#include "device-private.h"
#include "input-events.h"
@@ -1552,22 +1553,26 @@ window_raise_with_delay_callback (void *data)
if (window == NULL)
return FALSE;
+ if (window->cur_grab == NULL)
+ return FALSE;
+
/* If we aren't already on top, check whether the pointer is inside
* the window and raise the window if so.
*/
if (meta_stack_get_top (window->screen->stack) != window)
{
- int x, y, root_x, root_y;
- Window root, child;
- unsigned int mask;
+ int root_x, root_y;
gboolean same_screen;
gboolean point_in_window;
+ MetaDevicePointer *pointer;
meta_error_trap_push (window->display);
- same_screen = XQueryPointer (window->display->xdisplay,
- window->xwindow,
- &root, &child,
- &root_x, &root_y, &x, &y, &mask);
+ pointer = META_DEVICE_POINTER (window->cur_grab->grab_pointer);
+ same_screen = meta_device_pointer_query_position (pointer,
+ window->xwindow,
+ NULL, NULL,
+ &root_x, &root_y,
+ NULL, NULL, NULL);
meta_error_trap_pop (window->display);
point_in_window =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]