{
OBJ_ARRAY_PUSH(&(p1ctx->e->pending_objects), obj);
obj->changed = EINA_TRUE;
+ obj->in_pending_objects = EINA_TRUE;
}
obj->restack = EINA_TRUE;
}
}
//FIXME: after evas_object_change_reset(), obj->changed is always false...
- return obj->changed ? EINA_TRUE : EINA_FALSE;
+ Eina_Bool val = obj->changed ? EINA_TRUE : EINA_FALSE;
+ obj->in_pending_objects = val;
+ return val;
}
static Eina_Bool
EFL_CANVAS_OBJECT_CLASS);
evas_object_change(obj->smart.parent, smart_parent);
}
+ obj->changed = EINA_TRUE;
}
eina_evlog("-render_post_change", eo_e, 0.0, NULL);
e = obj->layer->evas;
if ((!e) || (e->cleanup)) return;
- OBJ_ARRAY_PUSH(&e->pending_objects, obj);
- obj->changed = EINA_TRUE;
+ if (!obj->in_pending_objects)
+ OBJ_ARRAY_PUSH(&e->pending_objects, obj);
+ obj->in_pending_objects = obj->changed = EINA_TRUE;
}
}