backend-x11: Fix cursor position under nested
This commit is contained in:
parent
18730f2a5e
commit
9607513e62
@ -82,9 +82,23 @@ static void
|
|||||||
translate_device_event (MetaBackendX11 *x11,
|
translate_device_event (MetaBackendX11 *x11,
|
||||||
XIDeviceEvent *device_event)
|
XIDeviceEvent *device_event)
|
||||||
{
|
{
|
||||||
device_event->event = get_stage_window (x11);
|
Window stage_window = get_stage_window (x11);
|
||||||
device_event->event_x = device_event->root_x;
|
|
||||||
device_event->event_y = device_event->root_y;
|
if (device_event->event != stage_window)
|
||||||
|
{
|
||||||
|
/* This codepath should only ever trigger as an X11 compositor,
|
||||||
|
* and never under nested, as under nested all backend events
|
||||||
|
* should be reported with respect to the stage window. */
|
||||||
|
g_assert (!meta_is_wayland_compositor ());
|
||||||
|
|
||||||
|
device_event->event = stage_window;
|
||||||
|
|
||||||
|
/* As an X11 compositor, the stage window is always at 0,0, so
|
||||||
|
* using root coordinates will give us correct stage coordinates
|
||||||
|
* as well... */
|
||||||
|
device_event->event_x = device_event->root_x;
|
||||||
|
device_event->event_y = device_event->root_y;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Clutter makes the assumption that there is only one X window
|
/* Clutter makes the assumption that there is only one X window
|
||||||
|
Loading…
x
Reference in New Issue
Block a user