use e_client_layer_set 47/212847/2 accepted/tizen/4.0/unified/20190830.055444 submit/tizen_4.0/20190830.025534
authorJuyeon Lee <juyeonne.lee@samsung.com>
Tue, 27 Aug 2019 08:46:21 +0000 (17:46 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 30 Aug 2019 02:52:34 +0000 (02:52 +0000)
evas_object_layer_set may not change ec->layer while layer_block and layer_pending
so, use e_client_layer_set to backup its layer on ec->layer
and as a result, e_client could be restore back to ec->layer after layer_pending free

Change-Id: Ib6d938a120c4bf01f4083e7f59821a6839596c09

src/bin/e_client.c
src/bin/e_policy_wl.c

index 28f9c489ff0b096ecf9969fe15106fa18a557f13..ed73829cf03fcd06fee70c8ec6e9a5a5b2a6c317 100644 (file)
@@ -5369,7 +5369,7 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
    e_hints_window_size_set(ec);
 
    ec->saved.layer = ec->layer;
-   evas_object_layer_set(ec->frame, E_LAYER_CLIENT_FULLSCREEN);
+   e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
 
    ec->fullscreen = 1;
    if ((eina_list_count(e_comp->zones) > 1) || 
@@ -5421,7 +5421,7 @@ e_client_unfullscreen(E_Client *ec)
      e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) |
                        ec->saved.maximized);
 
-   evas_object_layer_set(ec->frame, ec->saved.layer);
+   e_client_layer_set(ec, ec->saved.layer);
 
    e_hints_window_fullscreen_set(ec, 0);
    _e_client_event_simple(ec, E_EVENT_CLIENT_UNFULLSCREEN);
@@ -5691,7 +5691,7 @@ e_client_pinned_set(E_Client *ec, Eina_Bool set)
    else
      layer = E_LAYER_CLIENT_NORMAL;
 
-   evas_object_layer_set(ec->frame, layer);
+   e_client_layer_set(ec, layer);
 
    ec->border.changed = 1;
    EC_CHANGED(ec);
index 32c3387691a19945b6cf310581341ac8a6aa7f09..a2c485c9f55eb0a563e7e77cf68b27e3d144d004 100644 (file)
@@ -1713,12 +1713,12 @@ _tzpol_iface_cb_role_set(struct wl_client *client EINA_UNUSED, struct wl_resourc
    /* TODO: support multiple roles */
    if (!e_util_strcmp("tv-volume-popup", role))
      {
-        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_NOTIFICATION_LOW);
+        e_client_layer_set(ec, E_LAYER_CLIENT_NOTIFICATION_LOW);
         ec->lock_client_location = 1;
      }
    else if (!e_util_strcmp("e_demo", role))
      {
-        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_NOTIFICATION_HIGH);
+        e_client_layer_set(ec, E_LAYER_CLIENT_NOTIFICATION_HIGH);
         ec->lock_client_location = 1;
      }
    else if (!e_util_strcmp("cbhm", role))
@@ -1729,8 +1729,7 @@ _tzpol_iface_cb_role_set(struct wl_client *client EINA_UNUSED, struct wl_resourc
    else if (!e_util_strcmp("wl_pointer-cursor", role))
      {
         ELOGF("TZPOL", "Set CURSOR role", ec->pixmap, ec);
-        evas_object_layer_set(ec->frame, E_LAYER_CLIENT_CURSOR);
-        ec->layer = E_LAYER_CLIENT_CURSOR;
+        e_client_layer_set(ec, E_LAYER_CLIENT_CURSOR);
         ec->is_cursor = EINA_TRUE;
      }
 }
@@ -2362,8 +2361,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                             pend = e_policy_visibility_client_layer_lower(ec, original_layer);
                             if (!pend)
                               {
-                                 evas_object_layer_set(ec->frame, original_layer);
-                                 ec->layer = original_layer;
+                                 e_client_layer_set(ec, original_layer);
                               }
                          }
                     }
@@ -2764,9 +2762,9 @@ _e_policy_wl_floating_mode_apply(E_Client *ec, Eina_Bool floating)
    if (ec->frame)
      {
         if (floating)
-          evas_object_layer_set(ec->frame, E_LAYER_CLIENT_ABOVE);
+          e_client_layer_set(ec, E_LAYER_CLIENT_ABOVE);
         else
-          evas_object_layer_set(ec->frame, E_LAYER_CLIENT_NORMAL);
+          e_client_layer_set(ec, E_LAYER_CLIENT_NORMAL);
      }
 
    EC_CHANGED(ec);
@@ -2812,15 +2810,15 @@ _tzpol_iface_cb_stack_mode_set(struct wl_client *client EINA_UNUSED, struct wl_r
      {
         if (mode == TIZEN_POLICY_STACK_MODE_ABOVE)
           {
-             evas_object_layer_set(ec->frame, E_LAYER_CLIENT_ABOVE);
+             e_client_layer_set(ec, E_LAYER_CLIENT_ABOVE);
           }
         else if (mode == TIZEN_POLICY_STACK_MODE_BELOW)
           {
-             evas_object_layer_set(ec->frame, E_LAYER_CLIENT_BELOW);
+             e_client_layer_set(ec, E_LAYER_CLIENT_BELOW);
           }
         else
           {
-             evas_object_layer_set(ec->frame, E_LAYER_CLIENT_NORMAL);
+             e_client_layer_set(ec, E_LAYER_CLIENT_NORMAL);
           }
         EC_CHANGED(ec);
      }