diff options
author | JunsuChoi <jsuya.choi@samsung.com> | 2019-09-10 20:06:18 +0900 |
---|---|---|
committer | JunsuChoi <jsuya.choi@samsung.com> | 2019-09-10 20:06:18 +0900 |
commit | 6d465b0b1ffec1cf0f87243143c5a1a5b441b496 (patch) | |
tree | cb04e94158db0bbd26ab0d6e6a593df35938e9b9 /src/lib/evas/canvas/evas_vg_private.h | |
parent | f78b4861af140bd5b333fb530556e81915acbaab (diff) |
evas_vg_cache: Hashkey in cache uses evas
Summary:
Vg_entry is shared by different child windows.
When two or more objects load the same file
When resizing, cache_vg_entry_render can delete an active entry
while creating a new entry and deleting an existing entry.
Therefore, use cache data added evas
Test Plan:
[enable json loader]
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -203,7 +203,7 @@ option('evas-loaders-disabler',
type : 'array',
description : 'List of modular image/vector load .....
choices : ['gst', 'pdf', 'ps', 'raw', 'svg', 'rs .....
- value : ['webp', 'json']
+ value : ['webp']
[Test]
elementary_test -> Animation View click -> play -> Animation View click again -> ...
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9740
Diffstat (limited to 'src/lib/evas/canvas/evas_vg_private.h')
-rw-r--r-- | src/lib/evas/canvas/evas_vg_private.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h index d8a07b24f1..c3752b003b 100644 --- a/src/lib/evas/canvas/evas_vg_private.h +++ b/src/lib/evas/canvas/evas_vg_private.h | |||
@@ -18,6 +18,7 @@ typedef struct _Vg_Cache | |||
18 | 18 | ||
19 | typedef struct _Vg_Cache_Entry | 19 | typedef struct _Vg_Cache_Entry |
20 | { | 20 | { |
21 | Evas *evas; | ||
21 | char *hash_key; | 22 | char *hash_key; |
22 | const Eina_File *file; | 23 | const Eina_File *file; |
23 | Eina_Stringshare *key; | 24 | Eina_Stringshare *key; |
@@ -124,7 +125,7 @@ struct _Efl_Canvas_Vg_Interpolation | |||
124 | void evas_cache_vg_init(void); | 125 | void evas_cache_vg_init(void); |
125 | void evas_cache_vg_shutdown(void); | 126 | void evas_cache_vg_shutdown(void); |
126 | Vg_Cache_Entry* evas_cache_vg_entry_resize(Vg_Cache_Entry *entry, int w, int h); | 127 | Vg_Cache_Entry* evas_cache_vg_entry_resize(Vg_Cache_Entry *entry, int w, int h); |
127 | Vg_Cache_Entry* evas_cache_vg_entry_create(const Eina_File *file, const char *key, int w, int h); | 128 | Vg_Cache_Entry* evas_cache_vg_entry_create(Evas *evas, const Eina_File *file, const char *key, int w, int h); |
128 | Efl_VG* evas_cache_vg_tree_get(Vg_Cache_Entry *vg_entry, unsigned int frame_num); | 129 | Efl_VG* evas_cache_vg_tree_get(Vg_Cache_Entry *vg_entry, unsigned int frame_num); |
129 | void evas_cache_vg_entry_del(Vg_Cache_Entry *vg_entry); | 130 | void evas_cache_vg_entry_del(Vg_Cache_Entry *vg_entry); |
130 | Vg_File_Data * evas_cache_vg_file_open(const Eina_File *file, const char *key); | 131 | Vg_File_Data * evas_cache_vg_file_open(const Eina_File *file, const char *key); |