From 4345ff6be490e9364f1e603fcb35c829f7f8584e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Mon, 11 Nov 2024 17:03:22 +0100 Subject: [PATCH] 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: --- src/backends/meta-input-capture-session.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backends/meta-input-capture-session.c b/src/backends/meta-input-capture-session.c index c920f3f1e..14973e3e7 100644 --- a/src/backends/meta-input-capture-session.c +++ b/src/backends/meta-input-capture-session.c @@ -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