mirror of
https://github.com/brl/mutter.git
synced 2025-02-11 10:54:09 +00:00
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.
This commit is contained in:
parent
c34b5c1cf0
commit
799de4f0f4
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user