e_comp_wl_input: set keyboard enable in input thread
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 4 Apr 2024 11:08:33 +0000 (20:08 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 9 Apr 2024 01:52:31 +0000 (10:52 +0900)
Change-Id: Ib807c3192126d776d30c17a37a3880460015dab7
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_comp_wl_input.c

index e218127..f0d270d 100644 (file)
@@ -1829,6 +1829,15 @@ e_comp_wl_input_pointer_enabled_set(Eina_Bool enabled)
    _e_comp_wl_input_update_seat_caps(NULL);
 }
 
+static void
+_e_comp_wl_input_thread_cb_keyboard_enabled_set(void *data)
+{
+   Eina_Bool enabled = EINA_FALSE;
+
+   memcpy(&enabled, data, sizeof(Eina_Bool));
+   e_comp_input_key->kbd.enabled = !!enabled;
+}
+
 EINTERN void
 e_comp_wl_input_keyboard_enabled_set(Eina_Bool enabled)
 {
@@ -1839,7 +1848,7 @@ e_comp_wl_input_keyboard_enabled_set(Eina_Bool enabled)
         return;
      }
 
-   e_comp_input_key->kbd.enabled = !!enabled;
+   e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_enabled_set, &enabled, sizeof(Eina_Bool));
    _e_comp_wl_input_update_seat_caps(NULL);
 }