e_comp_wl_input: fix missing lock issue 31/318331/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 27 Sep 2024 01:28:01 +0000 (10:28 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 27 Sep 2024 02:23:24 +0000 (11:23 +0900)
Change-Id: I1aad0dc171f3316c93a5afc01b8ee8ff70aa14ed
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/server/e_comp_wl_input.c

index 44702b108ef85d03d644f05fc9597eba915b568b..8a7ba2d5c3e781c4099f841d4ce4ea02bffe7ff8 100644 (file)
@@ -1890,15 +1890,16 @@ e_comp_wl_input_keyboard_state_update(uint32_t keycode, Eina_Bool pressed)
 {
    enum xkb_key_direction dir;
 
+   g_rec_mutex_lock(&e_comp_input_key->xkb.keymap_mutex);
    if (!e_comp_input_key->xkb.state)
      {
+        g_rec_mutex_unlock(&e_comp_input_key->xkb.keymap_mutex);
         return;
      }
 
    if (pressed) dir = XKB_KEY_DOWN;
    else dir = XKB_KEY_UP;
 
-   g_rec_mutex_lock(&e_comp_input_key->xkb.keymap_mutex);
    atomic_store(&e_comp_input_key->kbd.mod_changed, xkb_state_update_key(e_comp_input_key->xkb.state, keycode + 8, dir));
    g_rec_mutex_unlock(&e_comp_input_key->xkb.keymap_mutex);