e_comp_wl: do not update transform core if deskzoom doing animation accepted/tizen/6.0/unified/20210111.022720 submit/tizen_6.0/20210108.074845
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 8 Jan 2021 04:50:01 +0000 (13:50 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 8 Jan 2021 07:45:56 +0000 (16:45 +0900)
Change-Id: I4a6cd642966b074448bd319db39262add4490268
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_comp_wl.c

index e9a3a6504baca5d349e78c1fbd7b9c78fd724839..447eafba3ea9787d0fb5894af8224272b6c6701d 100644 (file)
@@ -420,6 +420,7 @@ e_comp_wl_map_apply(E_Client *ec)
    E_Comp_Wl_Client_Data *cdata;
    int x1, y1, x2, y2, x, y;
    int dx, dy;
+   Eina_Bool zoom_animating = EINA_FALSE;
 
    if (!ec || !ec->comp_data || e_object_is_del(E_OBJECT(ec))) return;
 
@@ -489,11 +490,18 @@ e_comp_wl_map_apply(E_Client *ec)
    e_util_transform_texcoord_set(cdata->viewport_transform, 2, x2, y2);
    e_util_transform_texcoord_set(cdata->viewport_transform, 3, x1, y2);
 
-   ELOGF("TRANSFORM", "viewport map: point(%d,%d %dx%d) uv(%d,%d %d,%d %d,%d %d,%d)",
+   zoom_animating = e_desk_zoom_is_animating(ec->desk);
+
+   ELOGF("TRANSFORM", "viewport map: point(%d,%d %dx%d) uv(%d,%d %d,%d %d,%d %d,%d), zoom_animating: %d",
          ec, ec->x, ec->y, ec->comp_data->width_from_viewport,
-         ec->comp_data->height_from_viewport, x1, y1, x2, y1, x2, y2, x1, y2);
+         ec->comp_data->height_from_viewport, x1, y1, x2, y1, x2, y2, x1, y2, zoom_animating);
+
+   /* workaround:: when the desk zoom is doing their animation,
+      the transform core update can override animation's zoom boundary.
+      so, don't doing transform core update while desk zoom animation */
+   if (!zoom_animating)
+     e_client_transform_core_update(ec);
 
-   e_client_transform_core_update(ec);
 }
 
 EINTERN void