ecore_wl2: change code not to destroy zxdg resource in ecore_wl2_window_hide 50/302250/1 accepted/tizen/unified/20231206.151827 accepted/tizen/unified/riscv/20231211.234143
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 5 Dec 2023 00:25:17 +0000 (09:25 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 5 Dec 2023 00:25:25 +0000 (09:25 +0900)
We changed code that the zxdg resource is not destroyed even if ecore_wl2_window_hide() is called.
The zxdg resource will be destroyed in _ecore_wl2_window_semi_free.

Change-Id: I61152fba98cd8784f264ed55a1f4635ba922caf3

src/lib/ecore_wl2/ecore_wl2_window.c

index 87c6c6d..66108ac 100644 (file)
@@ -96,6 +96,13 @@ _ecore_wl2_window_semi_free(Ecore_Wl2_Window *window)
    if (window->zxdg_surface) zxdg_surface_v6_destroy(window->zxdg_surface);
    window->zxdg_surface = NULL;
 
+   window->xdg_configure_ack = NULL;
+   window->xdg_set_min_size = NULL;
+   window->xdg_set_max_size = NULL;
+   window->zxdg_configure_ack = NULL;
+   window->zxdg_set_min_size = NULL;
+   window->zxdg_set_max_size = NULL;
+
    if (window->www_surface)
      www_surface_destroy(window->www_surface);
    window->www_surface = NULL;
@@ -1362,6 +1369,7 @@ EAPI void
 ecore_wl2_window_show(Ecore_Wl2_Window *window)
 {
    EINA_SAFETY_ON_NULL_RETURN(window);
+   ERR("[WINDOW] ecore_wl2_window_show. win:%d", window->resource_id);
 
    _ecore_wl2_window_surface_create(window);
 
@@ -1395,7 +1403,10 @@ ecore_wl2_window_show(Ecore_Wl2_Window *window)
      {
         uint32_t ver = wl_proxy_get_version((struct wl_proxy *)window->display->wl.tz_policy);
         if (ver >= TIZEN_POLICY_SHOW_SINCE_VERSION)
-          tizen_policy_show(window->display->wl.tz_policy, window->surface);
+          {
+             ERR("[WINDOW] call tizen_policy_show. win:%d, surface:%p", window->resource_id, window->surface);
+             tizen_policy_show(window->display->wl.tz_policy, window->surface);
+          }
      }
 #endif
 //
@@ -1405,6 +1416,7 @@ EAPI void
 ecore_wl2_window_hide(Ecore_Wl2_Window *window)
 {
    EINA_SAFETY_ON_NULL_RETURN(window);
+   ERR("[WINDOW] ecore_wl2_window_hide. win:%d", window->resource_id);
 
 // TIZEN_ONLY(20201125) : support tizen protocol to notify hide request
 #ifdef TIZEN_POLICY_HIDE_SINCE_VERSION
@@ -1412,7 +1424,10 @@ ecore_wl2_window_hide(Ecore_Wl2_Window *window)
      {
         uint32_t ver = wl_proxy_get_version((struct wl_proxy *)window->display->wl.tz_policy);
         if (ver >= TIZEN_POLICY_HIDE_SINCE_VERSION)
-          tizen_policy_hide(window->display->wl.tz_policy, window->surface);
+          {
+             ERR("[WINDOW] call tizen_policy_hide. win:%d, surface:%p", window->resource_id, window->surface);
+             tizen_policy_hide(window->display->wl.tz_policy, window->surface);
+          }
      }
 #endif
 //
@@ -1454,37 +1469,9 @@ ecore_wl2_window_hide(Ecore_Wl2_Window *window)
         window->callback = NULL;
      }
 
-   // TIZEN_ONLY(20180614) : destroy shell surface and its role
-   if (window->zxdg_popup) zxdg_popup_v6_destroy(window->zxdg_popup);
-   window->zxdg_popup = NULL;
-
-   if (window->zxdg_toplevel) zxdg_toplevel_v6_destroy(window->zxdg_toplevel);
-   window->zxdg_toplevel = NULL;
-
-   if (window->zxdg_surface) zxdg_surface_v6_destroy(window->zxdg_surface);
-   window->zxdg_surface = NULL;
-   // END of TIZEN_ONLY(20180614)
-
-   // TIZEN_ONLY(20181011) : destroy shell surface and its role
-   if (window->xdg_popup) xdg_popup_destroy(window->xdg_popup);
-   window->xdg_popup = NULL;
-
-   if (window->xdg_toplevel) xdg_toplevel_destroy(window->xdg_toplevel);
-   window->xdg_toplevel = NULL;
-
-   if (window->xdg_surface) xdg_surface_destroy(window->xdg_surface);
-   window->xdg_surface = NULL;
-   // END of TIZEN_ONLY(20181011)
-
    window->set_config.serial = 0;
    window->req_config.serial = 0;
    window->def_config.serial = 0;
-   window->zxdg_configure_ack = NULL;
-   window->xdg_configure_ack = NULL;
-   window->xdg_set_min_size = NULL;
-   window->xdg_set_max_size = NULL;
-   window->zxdg_set_min_size = NULL;
-   window->zxdg_set_max_size = NULL;
 }
 
 static void