e_comp_object: block show of drag_client if the DnD already finished 36/274536/1 accepted/tizen/unified/20220503.065052 submit/tizen/20220503.031320
authorJunseok Kim <juns.kim@samsung.com>
Wed, 27 Apr 2022 06:49:39 +0000 (15:49 +0900)
committerJunseok Kim <juns.kim@samsung.com>
Mon, 2 May 2022 04:30:43 +0000 (13:30 +0900)
Change-Id: If68bb66a8764efd650e94a235a0a90e70bf451af
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
src/bin/e_comp_object.c
src/bin/e_comp_wl_data.c

index c568486b984ab7f71b0c0dffd404201fefbbf707..c2ae178ae714e40f49680c63e01a68513d4c9dc2 100644 (file)
@@ -2472,6 +2472,15 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw)
         evas_object_show(cw->smart_obj);
         return;
      }
+   if (ec->netwm.type == E_WINDOW_TYPE_DND && !e_comp_wl->drag_client)
+     {
+        /* dnd already finished */
+        ec->changes.visible = 1;
+        ec->visible = 0;
+        EC_CHANGED(ec);
+        ELOGF("COMP", "show_helper. return. dnd already finished", ec);
+        return;
+     }
    /* re-set geometry */
    evas_object_move(cw->smart_obj, ec->x, ec->y);
    /* ensure that some kind of frame calc has occurred if there's a frame */
index a1c61f2a47846ed395227757b9cd79c5c282db5c..89ee640e45606180f576c0d5a6cccff70d18f3a0 100644 (file)
@@ -711,6 +711,7 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client *client, struct wl_resourc
              ec->lock_focus_out = ec->override = 1;
              ec->icccm.title = eina_stringshare_add("noshadow");
              e_client_layer_set(ec, E_LAYER_CLIENT_DRAG);
+             ec->netwm.type = E_WINDOW_TYPE_DND;
              e_client_focus_stack_set(eina_list_remove(e_client_focus_stack_get(), ec));
              EC_CHANGED(ec);
              e_comp_override_add();