path: root/legacy/evas/src/lib/canvas/evas_clip.c
diff options
authorCedric BAIL <cedric.bail@free.fr>2012-05-01 07:31:42 +0000
committerCedric BAIL <cedric.bail@free.fr>2012-05-01 07:31:42 +0000
commit0f424acb6ed52fe6edf6e292e731ea2972005f20 (patch)
treed1bfa6e7b90515070d76a914fcecae67d67cde1f /legacy/evas/src/lib/canvas/evas_clip.c
parent[evas] When deleting map, resize/move informs will occur, that may want to ac... (diff)
evas: and for this nice international hollyday let me introduce a dynamic bounding box for smart object.
This make it possible to use the object tree to reduce the number of object, we need to explore to know what is under a specific position. First used by propagation event code. That code is now 4 times faster, enjoy ! As a side cost evas_object_move goes from 925 to 980 valgrind cycle on my computer, so not something you will notice. NOTE: if you notice any breakage regarding event propagation, map, cats, minor or major, please report to me ! I hope I didn't loose my mojo, with such a scary change, I have a big chance to get it back ! SVN revision: 70564
Diffstat (limited to 'legacy/evas/src/lib/canvas/evas_clip.c')
1 files changed, 6 insertions, 1 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c
index 1ae2f73e57..435a0ffbaa 100644
--- a/legacy/evas/src/lib/canvas/evas_clip.c
+++ b/legacy/evas/src/lib/canvas/evas_clip.c
@@ -219,7 +219,12 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
obj->cur.clipper = clip;
clip->clip.clipees = eina_list_append(clip->clip.clipees, obj);
- if (clip->clip.clipees) clip->cur.have_clipees = 1;
+ if (clip->clip.clipees)
+ {
+ clip->cur.have_clipees = 1;
+ if (clip->changed)
+ evas_object_update_bounding_box(clip);
+ }
/* If it's NOT a rectangle set the mask bits too */
/* FIXME: Optmz ths chck */