aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/evas/src/lib/canvas/evas_clip.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2005-11-02 04:03:55 +0000
committerCarsten Haitzler <raster@rasterman.com>2005-11-02 04:03:55 +0000
commit4aca7949f581eaaf943785759b542acd8fc6794c (patch)
treec8326ff0e4f35b77b31dcb6bc482e9aea86885e5 /legacy/evas/src/lib/canvas/evas_clip.c
parentdragables are back (broken them accidentally) (diff)
downloadefl-4aca7949f581eaaf943785759b542acd8fc6794c.tar.gz
fix excess overdraw bug
SVN revision: 18200
Diffstat (limited to 'legacy/evas/src/lib/canvas/evas_clip.c')
-rw-r--r--legacy/evas/src/lib/canvas/evas_clip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c
index 7c93e05b14..399cdfd0b0 100644
--- a/legacy/evas/src/lib/canvas/evas_clip.c
+++ b/legacy/evas/src/lib/canvas/evas_clip.c
@@ -176,6 +176,8 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
{
/* unclip */
obj->cur.clipper->clip.clipees = evas_list_remove(obj->cur.clipper->clip.clipees, obj);
+ if (!obj->cur.clipper->clip.clipees) obj->cur.clipper->cur.have_clipees = 0;
+ evas_object_change(obj->cur.clipper);
evas_object_change(obj);
obj->cur.clipper = NULL;
}
@@ -191,6 +193,8 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
}
obj->cur.clipper = clip;
clip->clip.clipees = evas_list_append(clip->clip.clipees, obj);
+ if (clip->clip.clipees) clip->cur.have_clipees = 1;
+ evas_object_change(clip);
evas_object_change(obj);
evas_object_clip_dirty(obj);
evas_object_recalc_clippees(obj);
@@ -278,6 +282,8 @@ evas_object_clip_unset(Evas_Object *obj)
obj->smart.smart->smart_class->clip_unset(obj);
}
obj->cur.clipper->clip.clipees = evas_list_remove(obj->cur.clipper->clip.clipees, obj);
+ if (!obj->cur.clipper->clip.clipees) obj->cur.clipper->cur.have_clipees = 0;
+ evas_object_change(obj->cur.clipper);
obj->cur.clipper = NULL;
evas_object_change(obj);
evas_object_clip_dirty(obj);