forked from enlightenment/efl
parent
c39bf3cc4e
commit
5650f1a234
|
@ -296,13 +296,10 @@ int
|
||||||
evas_object_is_active(Evas_Object *obj)
|
evas_object_is_active(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
if (obj->smart.smart) return 0;
|
if (obj->smart.smart) return 0;
|
||||||
if ((evas_object_is_visible(obj) ||
|
if ((evas_object_is_visible(obj) || evas_object_was_visible(obj)) &&
|
||||||
evas_object_was_visible(obj)) &&
|
(evas_object_is_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
|
||||||
(evas_object_is_in_output_rect(obj, 0, 0,
|
|
||||||
obj->layer->evas->output.w,
|
|
||||||
obj->layer->evas->output.h) ||
|
obj->layer->evas->output.h) ||
|
||||||
evas_object_was_in_output_rect(obj, 0, 0,
|
evas_object_was_in_output_rect(obj, 0, 0, obj->layer->evas->output.w,
|
||||||
obj->layer->evas->output.w,
|
|
||||||
obj->layer->evas->output.h)))
|
obj->layer->evas->output.h)))
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -74,9 +74,13 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Evas_List **active
|
||||||
evas_object_clip_recalc(obj);
|
evas_object_clip_recalc(obj);
|
||||||
/* build active object list */
|
/* build active object list */
|
||||||
is_active = evas_object_is_active(obj);
|
is_active = evas_object_is_active(obj);
|
||||||
if (is_active)
|
if (is_active) *active_objects = evas_list_append(*active_objects, obj);
|
||||||
*active_objects = evas_list_append(*active_objects, obj);
|
if (restack)
|
||||||
if ((obj->changed) || (restack))
|
{
|
||||||
|
obj->restack = 1;
|
||||||
|
obj->changed = 1;
|
||||||
|
}
|
||||||
|
if (obj->changed)
|
||||||
{
|
{
|
||||||
if (obj->smart.smart)
|
if (obj->smart.smart)
|
||||||
{
|
{
|
||||||
|
@ -91,15 +95,14 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Evas_List **active
|
||||||
_evas_render_phase1_object_process(e, obj2,
|
_evas_render_phase1_object_process(e, obj2,
|
||||||
active_objects,
|
active_objects,
|
||||||
restack_objects,
|
restack_objects,
|
||||||
obj->restack | restack);
|
obj->restack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((is_active) && (obj->restack | restack) &&
|
if ((is_active) && (obj->restack) && (!obj->clip.clipees))
|
||||||
(!obj->clip.clipees))
|
|
||||||
*restack_objects = evas_list_append(*restack_objects, obj);
|
*restack_objects = evas_list_append(*restack_objects, obj);
|
||||||
else
|
else if (is_active)
|
||||||
obj->func->render_pre(obj);
|
obj->func->render_pre(obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,7 +138,7 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Evas_List **active
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
obj->restack = 0;
|
if (!is_active) obj->restack = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -364,7 +367,6 @@ evas_render_updates(Evas *e)
|
||||||
obj->restack = 0;
|
obj->restack = 0;
|
||||||
obj->changed = 0;
|
obj->changed = 0;
|
||||||
}
|
}
|
||||||
/* if the object is flagged for deletion - note it */
|
|
||||||
if (obj->delete_me == 2)
|
if (obj->delete_me == 2)
|
||||||
{
|
{
|
||||||
delete_objects = evas_list_append(delete_objects, obj);
|
delete_objects = evas_list_append(delete_objects, obj);
|
||||||
|
|
Loading…
Reference in New Issue