aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/evas/src/lib/canvas
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2011-03-21 15:18:26 +0000
committerCedric BAIL <cedric.bail@free.fr>2011-03-21 15:18:26 +0000
commit2b3ee3f630f11a25f6f4c9b715299aeacfaa9991 (patch)
tree4a03479edfddbf512418abe314b8689322099d6c /legacy/evas/src/lib/canvas
parentEcore/Xlib: Remove unused variable. (diff)
downloadefl-2b3ee3f630f11a25f6f4c9b715299aeacfaa9991.tar.gz
evas: hopefully the last clip bug fix.
If no one see breakage due to this, I will backport all of them in two days. SVN revision: 57934
Diffstat (limited to 'legacy/evas/src/lib/canvas')
-rw-r--r--legacy/evas/src/lib/canvas/evas_clip.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_render.c23
2 files changed, 6 insertions, 19 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c
index 88defd6b17..08bd86e440 100644
--- a/legacy/evas/src/lib/canvas/evas_clip.c
+++ b/legacy/evas/src/lib/canvas/evas_clip.c
@@ -7,6 +7,8 @@ evas_object_clip_dirty(Evas_Object *obj)
Eina_List *l;
Evas_Object *data;
+ if (obj->cur.cache.clip.dirty) return ;
+
obj->cur.cache.clip.dirty = 1;
EINA_LIST_FOREACH(obj->clip.clipees, l, data)
evas_object_clip_dirty(data);
diff --git a/legacy/evas/src/lib/canvas/evas_render.c b/legacy/evas/src/lib/canvas/evas_render.c
index 7dc2a7b85c..877cf6c43c 100644
--- a/legacy/evas/src/lib/canvas/evas_render.c
+++ b/legacy/evas/src/lib/canvas/evas_render.c
@@ -881,21 +881,6 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
obj->cur.geometry.w,
obj->cur.geometry.h);
- if (obj->cur.clipper)
- {
- if (_evas_render_has_map(obj))
- evas_object_clip_recalc(obj);
- RECTS_CLIP_TO_RECT(x, y, w, h,
- obj->cur.cache.clip.x + off_x,
- obj->cur.cache.clip.y + off_y,
- obj->cur.cache.clip.w,
- obj->cur.cache.clip.h);
- RECTS_CLIP_TO_RECT(x, y, w, h,
- obj->cur.clipper->cur.cache.clip.x + off_x,
- obj->cur.clipper->cur.cache.clip.y + off_y,
- obj->cur.clipper->cur.cache.clip.w,
- obj->cur.clipper->cur.cache.clip.h);
- }
e->engine.func->context_clip_set(e->engine.data.output,
ctx, x, y, w, h);
obj->func->render(obj, e->engine.data.output, ctx,
@@ -1126,10 +1111,10 @@ evas_render_updates_internal(Evas *e,
/* phase 1. add extra updates for changed objects */
if (e->invalidate || e->render_objects.count <= 0)
- clean_them = _evas_render_phase1_process(e,
- &e->active_objects,
- &e->restack_objects,
- &e->delete_objects,
+ clean_them = _evas_render_phase1_process(e,
+ &e->active_objects,
+ &e->restack_objects,
+ &e->delete_objects,
&e->render_objects,
&redraw_all);