subsurface: Place sub-surface under parent even if it's in below_list. 41/246941/3
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 5 Nov 2020 07:58:44 +0000 (16:58 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Mon, 9 Nov 2020 02:49:38 +0000 (11:49 +0900)
E didn't handle the task required for placing below parent if
sub-surface was in below_list.
But to me, the name of this API seems to be supposed to make sub-surface
place below parent whenever it's invoked. And I think this way is more
reasonable.

Change-Id: I371fdb8fdd20a2a0b007cdfe1f00573d4a6a0e00

src/bin/e_policy_wl.c

index 43f8a3e..b82a46a 100644 (file)
@@ -2052,12 +2052,12 @@ _tzpol_iface_cb_subsurf_place_below_parent(struct wl_client *client EINA_UNUSED,
    epc = sdata->parent;
    EINA_SAFETY_ON_NULL_RETURN(epc);
 
-   /* check if a subsurface has already placed below a parent */
-   if (eina_list_data_find(epc->comp_data->sub.below_list, ec)) return;
-
    ELOGF("TZPOL", "SUBSURF|BELOW_PARENT", ec);
    epc->comp_data->sub.list = eina_list_remove(epc->comp_data->sub.list, ec);
    epc->comp_data->sub.list_pending = eina_list_remove(epc->comp_data->sub.list_pending, ec);
+   epc->comp_data->sub.below_list = eina_list_remove(epc->comp_data->sub.below_list, ec);
+   epc->comp_data->sub.below_list_pending = eina_list_remove(epc->comp_data->sub.below_list_pending, ec);
+
    epc->comp_data->sub.below_list_pending = eina_list_append(epc->comp_data->sub.below_list_pending, ec);
    epc->comp_data->sub.below_list = eina_list_append(epc->comp_data->sub.below_list, ec);
    epc->comp_data->sub.list_changed = EINA_TRUE;