mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-05 19:18:03 +02:00
Xext: route event through master if required (XTestFakeInput)
This commit is contained in:
parent
fb784d99c5
commit
179a082c26
2 changed files with 10 additions and 2 deletions
10
Xext/xtest.c
10
Xext/xtest.c
|
|
@ -471,7 +471,15 @@ ProcXTestFakeInput(client)
|
|||
if (screenIsSaved == SCREEN_SAVER_ON)
|
||||
dixSaveScreens(serverClient, SCREEN_SAVER_OFF, ScreenSaverReset);
|
||||
ev->u.keyButtonPointer.time = currentTime.milliseconds;
|
||||
(*dev->public.processInputProc)(ev, dev, nev);
|
||||
if (!dev->isMaster && dev->u.master)
|
||||
{ /* duplicate and route through master */
|
||||
xEvent *master_event = NULL;
|
||||
CopyGetMasterEvent(dev->u.master, ev, &master_event, nev);
|
||||
(*dev->public.processInputProc)(ev, dev, nev);
|
||||
(*dev->public.processInputProc)(master_event, dev->u.master, nev);
|
||||
xfree(master_event);
|
||||
} else
|
||||
(*dev->public.processInputProc)(ev, dev, nev);
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ ChangeDeviceID(DeviceIntPtr dev, xEvent* event)
|
|||
* @param master The event after being copied
|
||||
* @param count Number of events in original.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
CopyGetMasterEvent(DeviceIntPtr mdev, xEvent* original,
|
||||
xEvent** master, int count)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue