[mutter] display: Use meta_window_has_pointer instead of XQueryPointer
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] display: Use meta_window_has_pointer instead of XQueryPointer
- Date: Thu, 12 Jun 2014 21:47:22 +0000 (UTC)
commit ad60ea9e0e755f5455fc841042bef5e1cffdf153
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Jun 12 17:01:13 2014 -0400
display: Use meta_window_has_pointer instead of XQueryPointer
src/core/display.c | 18 +-----------------
src/core/window-private.h | 2 ++
src/core/window.c | 6 +++---
3 files changed, 6 insertions(+), 20 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 017d541..34ad383 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1344,23 +1344,7 @@ window_raise_with_delay_callback (void *data)
*/
if (meta_stack_get_top (window->screen->stack) != window)
{
- int x, y, root_x, root_y;
- Window root, child;
- MetaRectangle frame_rect;
- unsigned int mask;
- gboolean same_screen;
- gboolean point_in_window;
-
- meta_error_trap_push (window->display);
- same_screen = XQueryPointer (window->display->xdisplay,
- window->xwindow,
- &root, &child,
- &root_x, &root_y, &x, &y, &mask);
- meta_error_trap_pop (window->display);
-
- meta_window_get_frame_rect (window, &frame_rect);
- point_in_window = POINT_IN_RECT (root_x, root_y, frame_rect);
- if (same_screen && point_in_window)
+ if (meta_window_has_pointer (window))
meta_window_raise (window);
else
meta_topic (META_DEBUG_FOCUS,
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 5970db1..4aa8da9 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -702,4 +702,6 @@ void meta_window_grab_op_ended (MetaWindow *window, MetaGrabOp op);
void meta_window_set_alive (MetaWindow *window, gboolean is_alive);
+gboolean meta_window_has_pointer (MetaWindow *window);
+
#endif
diff --git a/src/core/window.c b/src/core/window.c
index 4383683..a38422c 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -7663,8 +7663,8 @@ window_has_pointer_x11 (MetaWindow *window)
return meta_display_lookup_x_window (display, child) == window;
}
-static gboolean
-window_has_pointer (MetaWindow *window)
+gboolean
+meta_window_has_pointer (MetaWindow *window)
{
if (meta_is_wayland_compositor ())
return window_has_pointer_wayland (window);
@@ -7696,7 +7696,7 @@ window_focus_on_pointer_rest_callback (gpointer data)
return TRUE;
}
- if (!window_has_pointer (window))
+ if (!meta_window_has_pointer (window))
goto out;
timestamp = meta_display_get_current_time_roundtrip (display);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]