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;
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