[mutter] frames: Don't make a round trip to the X server for every MotionNotify
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] frames: Don't make a round trip to the X server for every MotionNotify
- Date: Sun, 13 Jul 2014 21:39:20 +0000 (UTC)
commit 799de4f0f48fc4d3f67df9f4ad2b31baf5296d91
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sun Jul 13 17:34:08 2014 -0400
frames: Don't make a round trip to the X server for every MotionNotify
Instead, simply use the coordinates that were passed to us from the
MotionNotify event.
src/ui/frames.c | 5 +----
src/ui/ui.c | 2 ++
2 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 743e90c..1b0bc21 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -1579,7 +1579,6 @@ meta_frames_motion_notify_event (GtkWidget *widget,
MetaUIFrame *frame;
MetaFrames *frames;
MetaFrameControl control;
- int x, y;
frames = META_FRAMES (widget);
frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
@@ -1588,9 +1587,7 @@ meta_frames_motion_notify_event (GtkWidget *widget,
frames->last_motion_frame = frame;
- gdk_window_get_device_position (frame->window, event->device,
- &x, &y, NULL);
- control = get_control (frames, frame, x, y);
+ control = get_control (frames, frame, event->x, event->y);
if (frame->button_state == META_BUTTON_STATE_PRESSED)
{
diff --git a/src/ui/ui.c b/src/ui/ui.c
index dc2f4a2..f018fd8 100644
--- a/src/ui/ui.c
+++ b/src/ui/ui.c
@@ -226,6 +226,8 @@ maybe_redirect_mouse_event (XEvent *xevent)
gevent = gdk_event_new (GDK_MOTION_NOTIFY);
gevent->motion.window = g_object_ref (gdk_window);
gevent->motion.time = xev_d->time;
+ gevent->motion.x = xev_d->event_x;
+ gevent->motion.y = xev_d->event_y;
gevent->motion.x_root = xev_d->root_x;
gevent->motion.y_root = xev_d->root_y;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]