int nx, ny, nw, nh, nvis, nr, ng, nb, na;
if (obj->layer->evas->events_frozen > 0) return;
-// if (!obj->cur.clipper->cur.cache.clip.dirty) return;
+ if (!(obj->cur.clipper == NULL || obj->cur.clipper->cur.cache.clip.dirty)
+ && !obj->cur.cache.clip.dirty) return;
evas_object_coords_recalc(obj);
cx = obj->cur.geometry.x; cy = obj->cur.geometry.y;
cw = obj->cur.geometry.w; ch = obj->cur.geometry.h;
if (obj->cur.clipper)
{
// this causes problems... hmmm
-// if (obj->cur.clipper->cur.cache.clip.dirty)
+ if (obj->cur.clipper->cur.cache.clip.dirty)
evas_object_clip_recalc(obj->cur.clipper);
nx = obj->cur.clipper->cur.cache.clip.x;
ny = obj->cur.clipper->cur.cache.clip.y;