ecore_wl2_window: modify configure_send function 97/280197/2 accepted/tizen/unified/20220829.062608 submit/tizen/20220828.032852
authorDoyoun Kang <doyoun.kang@samsung.com>
Wed, 24 Aug 2022 00:43:34 +0000 (09:43 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 25 Aug 2022 07:03:27 +0000 (16:03 +0900)
If the def_config's serial and req_config's serial are same, it means that the ECORE_WL2_EVENT_WINDOW_CONFIGURE
event is not generated by configure_event from display server.
In this case, ECORE_WL2_EVENT_WINDOW_CONFIGURE event handle window's states not a size.
So, a width and height of the event are set by zero.

@tizen_only

Change-Id: Ie7d922dcddba48ec36dee7698fe60325a4fedd9f

src/lib/ecore_wl2/ecore_wl2_window.c

index 9746724..433954e 100644 (file)
@@ -160,35 +160,44 @@ _ecore_wl2_window_configure_send(Ecore_Wl2_Window *win)
    ev->y = win->set_config.geometry.y;
 //
 
-// TIZEN_ONLY(220421): modify event size
-   if (win->def_config.fullscreen || win->def_config.maximized)
+// TIZEN_ONLY(220421/220822): modify event size
+   if (win->def_config.serial == win->req_config.serial)
      {
-        ev->w = win->def_config.geometry.w;
-        ev->h = win->def_config.geometry.h;
+        // this means that this function is called by internal function not display server's configure
+        ev->w = 0;
+        ev->h = 0;
      }
    else
      {
-        if ((win->def_config.fullscreen != win->req_config.fullscreen) ||
-            (win->def_config.maximized != win->req_config.maximized))
+        if (win->def_config.fullscreen || win->def_config.maximized)
           {
-             // this means that window unset fullscreen or maximized.
-             // use saved geometry
-             ev->w = win->saved.w;
-             ev->h = win->saved.h;
+             ev->w = win->def_config.geometry.w;
+             ev->h = win->def_config.geometry.h;
           }
         else
           {
-             if (win->def_config.geometry.w || win->def_config.geometry.h)
+             if ((win->def_config.fullscreen != win->req_config.fullscreen) ||
+                 (win->def_config.maximized != win->req_config.maximized))
                {
-                  ev->w = win->def_config.geometry.w;
-                  ev->h = win->def_config.geometry.h;
+                  // this means that window unset fullscreen or maximized.
+                  // use saved geometry
+                  ev->w = win->saved.w;
+                  ev->h = win->saved.h;
                }
              else
                {
-                  // this means that display server didn't consider client's size.
-                  // use client set_config size
-                  ev->w = win->set_config.geometry.w;
-                  ev->h = win->set_config.geometry.h;
+                  if (win->def_config.geometry.w || win->def_config.geometry.h)
+                    {
+                       ev->w = win->def_config.geometry.w;
+                       ev->h = win->def_config.geometry.h;
+                    }
+                  else
+                    {
+                       // this means that display server didn't consider client's size.
+                       // use client set_config size
+                       ev->w = win->set_config.geometry.w;
+                       ev->h = win->set_config.geometry.h;
+                    }
                }
           }
      }