aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/evas/src/lib/canvas/evas_clip.c
diff options
context:
space:
mode:
authorrbdpngn <rbdpngn>2005-07-30 06:12:27 +0000
committerrbdpngn <rbdpngn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2005-07-30 06:12:27 +0000
commited1708a5319ca153e903b978290fe910b9b0e803 (patch)
tree6d32d9ad1aba247a5fa6f74f1d0f70856c89987c /legacy/evas/src/lib/canvas/evas_clip.c
parentReduce unnecessary clip recalcs. (diff)
downloadefl-ed1708a5319ca153e903b978290fe910b9b0e803.tar.gz
Defer marking dirty clippees when clip recalc occurs to avoid recursion.
SVN revision: 15948
Diffstat (limited to 'legacy/evas/src/lib/canvas/evas_clip.c')
-rw-r--r--legacy/evas/src/lib/canvas/evas_clip.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c
index a8ad5914d7..5a1f12f9ff 100644
--- a/legacy/evas/src/lib/canvas/evas_clip.c
+++ b/legacy/evas/src/lib/canvas/evas_clip.c
@@ -52,6 +52,12 @@ evas_object_clip_recalc(Evas_Object *obj)
obj->cur.cache.clip.b = cb;
obj->cur.cache.clip.a = ca;
obj->cur.cache.clip.dirty = 0;
+ if (cvis)
+ {
+ Evas_List *l;
+ for (l = obj->clip.clipees; l; l = l->next)
+ evas_object_clip_dirty(l->data);
+ }
}
void
@@ -60,8 +66,6 @@ evas_object_clip_dirty(Evas_Object *obj)
Evas_List *l;
obj->cur.cache.clip.dirty = 1;
- for (l = obj->clip.clipees; l; l = l->next)
- evas_object_clip_dirty(l->data);
}
void