e_desk: add missing ec list mutex 43/308843/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 2 Apr 2024 00:39:33 +0000 (09:39 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 2 Apr 2024 01:47:23 +0000 (10:47 +0900)
Change-Id: I6dd9e02683e9c784730e1dbbfc0a68d7812e2a86
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_desk_area.c

index 6f21e24..c5e0b27 100644 (file)
@@ -998,6 +998,8 @@ _desk_area_cb_client_get_visible_above(struct wl_listener *listener, void *data)
    if (ec->layer == E_LAYER_CLIENT_CURSOR) return;
    if (e_comp_canvas_client_layer_map(ec->layer) == 9999) return;
 
+   g_rec_mutex_lock(&e_comp->ec_list_mutex);
+
    /* go up the layers until we find one */
    for (x = e_comp_canvas_layer_map(ec->layer) + 1; x <= e_comp_canvas_layer_map(E_LAYER_CLIENT_CURSOR); x++)
      {
@@ -1011,10 +1013,13 @@ _desk_area_cb_client_get_visible_above(struct wl_listener *listener, void *data)
                  (ec2->frame))
                {
                   get_visible_above_data->above_ec = ec2;
+                  g_rec_mutex_unlock(&e_comp->ec_list_mutex);
                   return;
                }
           }
      }
+
+   g_rec_mutex_unlock(&e_comp->ec_list_mutex);
 }
 
 static void