e_client/e_zone: change code to call e_client_layer_set of fullscreen/unfullscreen 19/301319/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 14 Nov 2023 05:05:27 +0000 (14:05 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 14 Nov 2023 05:32:43 +0000 (14:32 +0900)
There was a bug that the e_client's layer didn't restore while handling unfullscreen.
To resolve this, We moved the code calling e_client_layer_set() from e_zone to e_client.

Change-Id: I7bb0de7e42d1a3331a9b16a657fb7477ea22c789

src/bin/e_client.c
src/bin/e_zone.c

index bfab595..75e1737 100644 (file)
@@ -4298,6 +4298,9 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
         return;
      }
 
+   ec->saved.layer = ec->layer;
+   e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
+
    ec->fullscreen = 1;
 
    // call the fullscreen hook of a client
@@ -4326,6 +4329,8 @@ e_client_unfullscreen(E_Client *ec)
    // call the unfullscreen hook of a client
    wl_signal_emit_mutable(&PRI(ec)->events.unfullscreen, &policy);
 
+   e_client_layer_set(ec, ec->saved.layer);
+
    ec->fullscreen_policy = E_FULLSCREEN_RESIZE;
 
    _e_client_event_simple(ec, E_EVENT_CLIENT_UNFULLSCREEN);
index 5226f33..bebe42a 100644 (file)
@@ -1051,9 +1051,6 @@ _zone_cb_client_fullscreen(struct wl_listener *listener, void *data)
    ec->saved.maximized = ec->maximized;
    ec->saved.zone = zone->num;
 
-   ec->saved.layer = ec->layer;
-   e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
-
    if ((eina_list_count(e_comp->zones) > 1) ||
        (fullscreen_policy == E_FULLSCREEN_RESIZE))
      {
@@ -1108,8 +1105,6 @@ _zone_cb_client_unfullscreen(struct wl_listener *listener, void *data)
                                                 ec->saved.w, ec->saved.h);
      }
 
-   e_client_layer_set(ec, ec->saved.layer);
-
    if (!desk->fullscreen_clients)
      e_comp_render_queue();
 }