summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-03 12:43:11 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-03 12:43:11 +0900
commitf9789aa94cd6b0de27b8fec3ae57634b74979a0c (patch)
tree151dd3792f28e0bd7c37583caa190cfa88f033d2
parentad5bce5cbdd5a332c2568c75d5404c3e22613b4c (diff)
downloadefl-f9789aa94cd6b0de27b8fec3ae57634b74979a0c.tar.gz
evas render cache - clean up memory in all cases
this cleans up memory for the rect del array in render cache and when smart objects are deleted that hold render caches
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index 3715625c3a..a9178252eb 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -1258,6 +1258,12 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
if (o->calc_entry.next)
eina_clist_remove(&o->calc_entry);
+ if (o->render_cache)
+ {
+ evas_render_object_render_cache_free(eo_obj, o->render_cache);
+ o->render_cache = NULL;
+ }
+
while (o->contained)
{
Evas_Object_Protected_Data *contained =