input-capture/session: Start emulating new devices if already active
The client may not wait for devices to be created before enabling, meaning we might activate the input capture session before the device emulation is started. This would result in events silently being dropped. This helps with the flaky input-capture test case. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4128>
This commit is contained in:
parent
80f92e0a20
commit
4345ff6be4
@ -223,6 +223,9 @@ ensure_eis_pointer (MetaInputCaptureSession *session)
|
||||
eis_device_resume (eis_pointer);
|
||||
|
||||
session->eis_pointer = eis_pointer;
|
||||
|
||||
if (session->state == INPUT_CAPTURE_STATE_ACTIVATED)
|
||||
eis_device_start_emulating (session->eis_pointer, session->activation_id);
|
||||
}
|
||||
|
||||
static MetaAnonymousFile *
|
||||
@ -294,6 +297,9 @@ ensure_eis_keyboard (MetaInputCaptureSession *session)
|
||||
eis_device_resume (eis_keyboard);
|
||||
|
||||
session->eis_keyboard = eis_keyboard;
|
||||
|
||||
if (session->state == INPUT_CAPTURE_STATE_ACTIVATED)
|
||||
eis_device_start_emulating (session->eis_keyboard, session->activation_id);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
x
Reference in New Issue
Block a user