e_keyrouter: add missing grab key mutex 81/304181/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 11 Jan 2024 10:37:18 +0000 (19:37 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 11 Jan 2024 11:24:32 +0000 (20:24 +0900)
Change-Id: If85f3a39224c54615b9d8fb381227458c4c22123
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_keyrouter_list.c

index 9a4892dd35e98b55ec724f66af3dbffbf7bcff88..865bf64ef76aab435f17c47f57502f6a5f942c25 100644 (file)
@@ -19,9 +19,13 @@ e_keyrouter_set_keygrab_in_list(struct wl_resource *surface, struct wl_client *c
 
    if (mode == TIZEN_KEYROUTER_MODE_EXCLUSIVE)
      {
-        EINA_SAFETY_ON_TRUE_RETURN_VAL
-          ((krt->HardKeys[key].excl_ptr != NULL),
-           TIZEN_KEYROUTER_ERROR_GRABBED_ALREADY);
+        g_rec_mutex_lock(&krt->grab_key_mutex);
+        if (krt->HardKeys[key].excl_ptr != NULL)
+          {
+             g_rec_mutex_unlock(&krt->grab_key_mutex);
+             return TIZEN_KEYROUTER_ERROR_GRABBED_ALREADY;
+          }
+        g_rec_mutex_unlock(&krt->grab_key_mutex);
      }
 
    if (mode == TIZEN_KEYROUTER_MODE_TOPMOST)