hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6fd05023424fd292bdce98bb22b0de04c81a3682

commit 6fd05023424fd292bdce98bb22b0de04c81a3682
Author: Hermet Park <hermetp...@gmail.com>
Date:   Tue Jan 28 18:04:05 2020 +0900

    canvas vector: fix incorrect caching hit.
    
    animated vector(lottie) caches current playing resource data,
    for resuing if it's possible, but it must take care of the drawing size.
    
    Previous logic missed that part, fixed it.
---
 src/lib/evas/vg/evas_vg_cache.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index 8b748ca5ee..e9990107ee 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -473,9 +473,13 @@ evas_cache_vg_tree_get(Vg_Cache_Entry *vg_entry, unsigned 
int frame_num)
    //No need to update.
    if (vfd->anim_data)
      {
-        if (vg_entry->root &&
-            vfd->anim_data->frame_num == frame_num)
-          return vg_entry->root;
+        if ((vg_entry->w == vfd->view_box.w) &&
+            (vg_entry->h == vfd->view_box.h))
+          {
+             if (vg_entry->root &&
+                 vfd->anim_data->frame_num == frame_num)
+               return vg_entry->root;
+          }
      }
    else
      {

-- 


Reply via email to