e_zone: ec add to current desk of the zone 16/298216/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 25 Aug 2023 10:43:28 +0000 (19:43 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 4 Sep 2023 02:36:41 +0000 (11:36 +0900)
when ec add to zone

Change-Id: Iffb2101b75e10c5c06c43a6a9b3234d7a2e38efc

src/bin/e_zone.c

index c1e4e2b..c00e152 100644 (file)
@@ -1820,19 +1820,18 @@ _e_zone_client_set(E_Zone *zone, E_Client *ec)
 EINTERN void
 e_zone_client_add(E_Zone *zone, E_Client *ec)
 {
+   E_Desk *desk;
+
    EINA_SAFETY_ON_NULL_RETURN(zone);
    EINA_SAFETY_ON_NULL_RETURN(ec);
    if (e_zone_has_ec(zone, ec)) return;
 
    _e_zone_client_set(zone, ec);
 
-   // FIXME: 1. To put the ec at current desk is the current wm policy.
-   //        This should be changed by wm policy.
-   //        2. This code should be removed because e_client_zone_set() is called
-   //        inside e_client_desk_set(). It makes the infinite loop calls(circular calls).
-   //        e_client_desk_set() -> e_client_zone_set() -> e_zone_client_add() -> e_client_desk_set() -> ... and so on.
-   if ((!ec->desk) || (ec->desk->zone != zone))
-     e_desk_client_add(e_desk_current_get(zone), ec);
+   // Currently, ec is set to the current desk now.
+   // At this moment, ec should not belong to any desk
+   desk = e_desk_current_get(zone);
+   e_desk_client_add(desk, ec);
 
    e_client_res_change_geometry_save(ec);
    e_client_res_change_geometry_restore(ec);