ecore_wl2: add user width and height for ignoring unexpected configure event. 73/286473/4 accepted/tizen/unified/20230110.164116
authorHosang Kim <hosang12.kim@samsung.com>
Sun, 8 Jan 2023 04:29:54 +0000 (13:29 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Sun, 8 Jan 2023 07:00:09 +0000 (16:00 +0900)
Change-Id: I42072a9afa14d36dcf032cd1ffecb0a6055302fe

src/lib/ecore_wl2/Ecore_Wl2.h
src/lib/ecore_wl2/ecore_wl2_private.h
src/lib/ecore_wl2/ecore_wl2_window.c
src/lib/elementary/efl_ui_win.c

index 5a54a35..5bedc98 100644 (file)
@@ -2549,7 +2549,7 @@ EAPI void ecore_wl2_cursor_config_name_set(const char *name);
 //
 
 //TIZEN_ONLY(20221228): add resize request set for ignoring configure event
-EAPI void ecore_wl2_window_resize_request_set(Ecore_Wl2_Window *window);
+EAPI void ecore_wl2_window_resize_request_set(Ecore_Wl2_Window *window, int w, int h);
 //
 # undef EAPI
 # define EAPI
index 922ca47..7b08980 100644 (file)
@@ -346,6 +346,7 @@ struct _Ecore_Wl2_Window
    struct
      {
         int configure_event;
+        int user_w, user_h;
         Eina_Bool configure : 1;
         Eina_Bool min : 1;
         Eina_Bool max : 1;
index ba79230..f3202f6 100644 (file)
@@ -192,8 +192,8 @@ _ecore_wl2_window_configure_send(Ecore_Wl2_Window *win)
                {
                   if (win->pending.user_resize)
                     {
-                       ev->w = win->set_config.geometry.w;
-                       ev->h = win->set_config.geometry.h;
+                       ev->w = win->pending.user_w;
+                       ev->h = win->pending.user_h;
                        size_type = 6;
                     }
                   else
@@ -750,8 +750,8 @@ _ecore_wl_window_cb_angle_change(void *data, struct tizen_rotation *tizen_rotati
      {
         if (win->pending.user_resize)
           {
-             ev->w = win->set_config.geometry.w;
-             ev->h = win->set_config.geometry.h;
+             ev->w = win->pending.user_w;
+             ev->h = win->pending.user_h;
           }
         else
           {
@@ -4426,6 +4426,8 @@ ecore_wl2_window_sync_geometry_set(Ecore_Wl2_Window *window, uint32_t serial, in
    window->set_config.geometry.h = h;
 
    window->pending.user_resize = EINA_TRUE;
+   window->pending.user_w = w;
+   window->pending.user_h = h;
 
    if (window->display->wl.tz_moveresize)
      tizen_move_resize_set_geometry(window->display->wl.tz_moveresize, window->surface, serial, x, y, w, h);
@@ -4549,9 +4551,11 @@ ecore_wl2_window_resource_id_get(Ecore_Wl2_Window *window)
 
 //TIZEN_ONLY(20221228): add resize request set for ignoring configure event
 EAPI void
-ecore_wl2_window_resize_request_set(Ecore_Wl2_Window *window)
+ecore_wl2_window_resize_request_set(Ecore_Wl2_Window *window, int w, int h)
 {
    EINA_SAFETY_ON_NULL_RETURN(window);
    window->pending.user_resize = EINA_TRUE;
+   window->pending.user_w = w;
+   window->pending.user_h = h;
 }
 //
index 2030670..21b5a57 100644 (file)
@@ -3909,8 +3909,19 @@ _efl_ui_win_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Size2D sz
         sd->req_w = sz.w;
         sd->req_h = sz.h;
         //TIZEN_ONLY(20221228): add resize request set for ignoring configure event
-        ERR("Call resize request set w: %d h: %d", sz.w, sz.h);
-        ecore_wl2_window_resize_request_set(sd->wl.win);
+        if (sz.w > 1 && sz.h > 1)
+          {
+             if ((sd->rot == 0) || (sd->rot == 180))
+               {
+                  ERR("Call resize request set w: %d h: %d", sz.w, sz.h);
+                  ecore_wl2_window_resize_request_set(sd->wl.win, sz.w, sz.h);
+               }
+             else
+               {
+                  ERR("Call resize request set w: %d h: %d", sz.h, sz.w);
+                  ecore_wl2_window_resize_request_set(sd->wl.win, sz.h, sz.w);
+               }
+          }
         //
         TRAP(sd, resize, sz.w, sz.h);
      }