diff options
author | Hermet Park <hermetpark@gmail.com> | 2020-01-28 18:04:05 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2020-01-28 18:06:33 +0900 |
commit | 6fd05023424fd292bdce98bb22b0de04c81a3682 (patch) | |
tree | 1fdcf674540afed79a8f87399ab21a61fd156925 | |
parent | 2101e3c3d3daf177d3d3d991ba0498bb67fc02b9 (diff) |
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.
-rw-r--r-- | src/lib/evas/vg/evas_vg_cache.c | 10 |
1 files 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) | |||
473 | //No need to update. | 473 | //No need to update. |
474 | if (vfd->anim_data) | 474 | if (vfd->anim_data) |
475 | { | 475 | { |
476 | if (vg_entry->root && | 476 | if ((vg_entry->w == vfd->view_box.w) && |
477 | vfd->anim_data->frame_num == frame_num) | 477 | (vg_entry->h == vfd->view_box.h)) |
478 | return vg_entry->root; | 478 | { |
479 | if (vg_entry->root && | ||
480 | vfd->anim_data->frame_num == frame_num) | ||
481 | return vg_entry->root; | ||
482 | } | ||
479 | } | 483 | } |
480 | else | 484 | else |
481 | { | 485 | { |