e_client/e_zone: refactor code to update ec->fullscreen value 46/301246/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Fri, 10 Nov 2023 07:02:01 +0000 (16:02 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 13 Nov 2023 04:47:33 +0000 (13:47 +0900)
We changed code to set ec->fullscreen value in e_client not e_zone.

Change-Id: If521e3171c80370de49707114dcbb44f0c5540e6

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

index e282a11..b49764f 100644 (file)
@@ -4277,6 +4277,15 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
    wl_signal_emit_mutable(&PRI(ec)->events.fullscreen_pre, NULL);
    _e_client_hook_call(E_CLIENT_HOOK_FULLSCREEN_PRE, ec);
 
+   if (ec->skip_fullscreen) return;
+   if (ec->new_client)
+     {
+        ec->need_fullscreen = 1;
+        return;
+     }
+
+   ec->fullscreen = 1;
+
    // call the fullscreen hook of a client
    wl_signal_emit_mutable(&PRI(ec)->events.fullscreen, &policy);
 
@@ -4294,6 +4303,9 @@ e_client_unfullscreen(E_Client *ec)
    if ((ec->shaded) || (ec->shading)) return;
    if (!ec->fullscreen) return;
 
+   ec->fullscreen = 0;
+   ec->need_fullscreen = 0;
+
    E_Fullscreen policy = ec->fullscreen_policy;
 
    // call the unfullscreen hook of a client
index 0fbc034..03ab2f3 100644 (file)
@@ -1039,16 +1039,8 @@ _zone_cb_client_fullscreen(struct wl_listener *listener, void *data)
    desk = e_zone_desk_find_by_ec(zone, ec);
    EINA_SAFETY_ON_NULL_RETURN(desk);
 
-   if (ec->skip_fullscreen) return;
-
    if (!desk->visible) return;
 
-   if (ec->new_client)
-     {
-        ec->need_fullscreen = 1;
-        return;
-     }
-
    if (e_comp->nocomp_ec && (e_desk_has_ec(desk, e_comp->nocomp_ec)))
      e_comp->nocomp_ec = ec;
    desk->fullscreen_clients = eina_list_append(desk->fullscreen_clients, ec);
@@ -1083,7 +1075,6 @@ _zone_cb_client_fullscreen(struct wl_listener *listener, void *data)
    ec->saved.layer = ec->layer;
    e_client_layer_set(ec, E_LAYER_CLIENT_FULLSCREEN);
 
-   ec->fullscreen = 1;
    if ((eina_list_count(e_comp->zones) > 1) ||
        (fullscreen_policy == E_FULLSCREEN_RESIZE))
      {
@@ -1120,8 +1111,6 @@ _zone_cb_client_unfullscreen(struct wl_listener *listener, void *data)
    EINA_SAFETY_ON_NULL_RETURN(desk);
 
    ec->pre_res_change.valid = 0;
-   ec->fullscreen = 0;
-   ec->need_fullscreen = 0;
    desk->fullscreen_clients = eina_list_remove(desk->fullscreen_clients, ec);
 
    if (fullscreen_policy == E_FULLSCREEN_ZOOM)