forked from enlightenment/efl
evas/render: Clean all changed objects, not only the
active ones. Objects which are children of mapped smart objects are not in the active objects list, but should still be cleaned, and have their render_post method called too. SVN revision: 76550
This commit is contained in:
parent
b2004aebc5
commit
94732fddd9
|
@ -600,6 +600,7 @@ pending_change(void *data, void *gdata __UNUSED__)
|
||||||
if (obj->pre_render_done)
|
if (obj->pre_render_done)
|
||||||
{
|
{
|
||||||
RD(" OBJ [%p] pending change %i -> 0, pre %i\n", obj, obj->changed, obj->pre_render_done);
|
RD(" OBJ [%p] pending change %i -> 0, pre %i\n", obj, obj->changed, obj->pre_render_done);
|
||||||
|
obj->func->render_post(obj);
|
||||||
obj->pre_render_done = EINA_FALSE;
|
obj->pre_render_done = EINA_FALSE;
|
||||||
evas_object_change_reset(obj);
|
evas_object_change_reset(obj);
|
||||||
}
|
}
|
||||||
|
@ -896,25 +897,21 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
|
||||||
if (!evas_object_is_visible(o2) &&
|
if (!evas_object_is_visible(o2) &&
|
||||||
!evas_object_was_visible(o2))
|
!evas_object_was_visible(o2))
|
||||||
{
|
{
|
||||||
evas_object_change_reset(o2);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (o2->changed)
|
if (o2->changed)
|
||||||
{
|
{
|
||||||
changed = EINA_TRUE;
|
changed = EINA_TRUE;
|
||||||
evas_object_change_reset(o2);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (obj->changed_color) changed = EINA_TRUE;
|
if (obj->changed_color) changed = EINA_TRUE;
|
||||||
evas_object_change_reset(obj);
|
|
||||||
}
|
}
|
||||||
else if (obj->changed)
|
else if (obj->changed)
|
||||||
{
|
{
|
||||||
if (((obj->changed_pchange) && (obj->changed_map)) ||
|
if (((obj->changed_pchange) && (obj->changed_map)) ||
|
||||||
(obj->changed_color))
|
(obj->changed_color))
|
||||||
changed = EINA_TRUE;
|
changed = EINA_TRUE;
|
||||||
evas_object_change_reset(obj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* mark the old map as invalid, so later we don't reuse it as a
|
/* mark the old map as invalid, so later we don't reuse it as a
|
||||||
|
@ -1632,6 +1629,12 @@ evas_render_updates_internal(Evas *e,
|
||||||
{
|
{
|
||||||
obj = eina_array_data_get(&e->render_objects, i);
|
obj = eina_array_data_get(&e->render_objects, i);
|
||||||
obj->pre_render_done = EINA_FALSE;
|
obj->pre_render_done = EINA_FALSE;
|
||||||
|
if ((obj->changed) && (do_draw))
|
||||||
|
{
|
||||||
|
obj->func->render_post(obj);
|
||||||
|
obj->restack = EINA_FALSE;
|
||||||
|
evas_object_change_reset(obj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* delete all objects flagged for deletion now */
|
/* delete all objects flagged for deletion now */
|
||||||
|
|
Loading…
Reference in New Issue