e_policy_stack: remove the use of ec->zone 79/295679/1
authorSooChan Lim <sc1.lim@samsung.com>
Thu, 6 Jul 2023 10:01:47 +0000 (19:01 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 12 Jul 2023 09:06:12 +0000 (18:06 +0900)
The zone variable at e_client will be removed.

Change-Id: I70b6cc6491f2b1ab05ce954582b9064de112ed84

src/bin/e_policy_stack.c

index 9e39536..b6ea178 100644 (file)
@@ -504,6 +504,7 @@ _e_policy_stack_find_top_lockscreen(E_Client *ec_lock, E_Client *ec_except)
 {
    E_Client *ec = NULL;
    E_Client *ec_top_lock = NULL;
+   E_Zone *zone;
    int x, y, w, h;
 
    if (!ec_lock) return NULL;
@@ -511,12 +512,14 @@ _e_policy_stack_find_top_lockscreen(E_Client *ec_lock, E_Client *ec_except)
    E_CLIENT_REVERSE_FOREACH(ec)
      {
         if (e_object_is_del(E_OBJECT(ec))) continue;
+        zone = e_comp_zone_find_by_ec(ec);
+        if (!zone) continue;
         if ((ec != ec_except) &&
             (e_policy_client_is_lockscreen(ec)))
           {
              e_client_geometry_get(ec, &x, &y, &w, &h);
              if (E_CONTAINS(x, y, w, h,
-                            ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
+                            zone->x, zone->y, zone->w, zone->h))
                {
                   ec_top_lock = ec;
                   break;
@@ -613,10 +616,13 @@ e_policy_stack_clients_restack_above_lockscreen(E_Client *ec_lock, Eina_Bool sho
         E_Layer lock_layer = e_policy_system_info.lockscreen.ec->layer;
         Eina_Bool passed_new_lock = EINA_FALSE;
         int x, y, w, h;
+        E_Zone *zone;
 
         E_CLIENT_REVERSE_FOREACH(ec)
           {
              if (e_object_is_del(E_OBJECT(ec))) continue;
+             zone = e_comp_zone_find_by_ec(ec);
+             if (!zone) continue;
              if (ec == new_lock)
                {
                   passed_new_lock = EINA_TRUE;
@@ -640,7 +646,7 @@ e_policy_stack_clients_restack_above_lockscreen(E_Client *ec_lock, Eina_Bool sho
                   (ec->visibility.opaque == 1)))
                {
                   e_client_geometry_get(ec, &x, &y, &w, &h);
-                  if (E_CONTAINS(x, y, w, h, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
+                  if (E_CONTAINS(x, y, w, h, zone->x, zone->y, zone->w, zone->h))
                     {
                        break;
                     }