forked from enlightenment/efl
fix arrya state engin issue... redraws vanishing. fixed!
SVN revision: 34808
This commit is contained in:
parent
8bd0e92e81
commit
d4e8f592bb
|
@ -79,15 +79,9 @@ evas_object_change(Evas_Object *obj)
|
||||||
obj->layer->evas->changed = 1;
|
obj->layer->evas->changed = 1;
|
||||||
if (obj->changed) return;
|
if (obj->changed) return;
|
||||||
evas_render_object_recalc(obj);
|
evas_render_object_recalc(obj);
|
||||||
obj->changed = 1;
|
|
||||||
/* set changed flag on all objects this one clips too */
|
/* set changed flag on all objects this one clips too */
|
||||||
for (l = obj->clip.clipees; l; l = l->next)
|
for (l = obj->clip.clipees; l; l = l->next)
|
||||||
{
|
evas_object_change((Evas_Object *)l->data);
|
||||||
Evas_Object *o;
|
|
||||||
|
|
||||||
o = (Evas_Object *)l->data;
|
|
||||||
evas_object_change(o);
|
|
||||||
}
|
|
||||||
if (obj->smart.parent) evas_object_change(obj->smart.parent);
|
if (obj->smart.parent) evas_object_change(obj->smart.parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -122,6 +122,8 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Evas_Array *active
|
||||||
_evas_array_append(active_objects, obj);
|
_evas_array_append(active_objects, obj);
|
||||||
if (restack)
|
if (restack)
|
||||||
{
|
{
|
||||||
|
if (!obj->changed)
|
||||||
|
_evas_array_append(&e->pending_objects, obj);
|
||||||
obj->restack = 1;
|
obj->restack = 1;
|
||||||
obj->changed = 1;
|
obj->changed = 1;
|
||||||
clean_them = 1;
|
clean_them = 1;
|
||||||
|
@ -309,10 +311,8 @@ Evas_Bool pending_change(void *data, void *gdata)
|
||||||
Evas_Object *obj;
|
Evas_Object *obj;
|
||||||
|
|
||||||
obj = data;
|
obj = data;
|
||||||
|
|
||||||
if (obj->delete_me) return 0;
|
if (obj->delete_me) return 0;
|
||||||
|
return obj->changed;
|
||||||
return obj->changed ? 1 : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Evas_List *
|
static Evas_List *
|
||||||
|
@ -715,16 +715,16 @@ evas_render_object_recalc(Evas_Object *obj)
|
||||||
return;
|
return;
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
if (!obj->changed && obj->delete_me < 2)
|
if ((!obj->changed) && (obj->delete_me < 2))
|
||||||
{
|
{
|
||||||
Evas *e;
|
Evas *e;
|
||||||
|
|
||||||
e = obj->layer->evas;
|
e = obj->layer->evas;
|
||||||
if (!e || e->cleanup) return ;
|
if (!e || e->cleanup) return ;
|
||||||
|
|
||||||
|
if (!obj->changed)
|
||||||
|
_evas_array_append(&e->pending_objects, obj);
|
||||||
obj->changed = 1;
|
obj->changed = 1;
|
||||||
|
|
||||||
_evas_array_append(&e->pending_objects, obj);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ evas_array_remove(Evas_Array *array, Evas_Bool (*keep)(void *data, void *gdata),
|
||||||
tmp = malloc(sizeof (void*) * array->total);
|
tmp = malloc(sizeof (void*) * array->total);
|
||||||
if (!tmp) return ;
|
if (!tmp) return ;
|
||||||
|
|
||||||
for (i = 0; i < array->count; ++i)
|
for (i = 0; i < array->count; i++)
|
||||||
{
|
{
|
||||||
void *data;
|
void *data;
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,7 @@ evas_object_clip_recalc(Evas_Object *obj)
|
||||||
static inline void
|
static inline void
|
||||||
_evas_array_append(Evas_Array *array, void *data)
|
_evas_array_append(Evas_Array *array, void *data)
|
||||||
{
|
{
|
||||||
if (UNLIKELY(array->count + array->step > array->total))
|
if (UNLIKELY((array->count + array->step) > array->total))
|
||||||
if (!_evas_array_grow(array)) return ;
|
if (!_evas_array_grow(array)) return ;
|
||||||
|
|
||||||
array->data[array->count++] = data;
|
array->data[array->count++] = data;
|
||||||
|
|
Loading…
Reference in New Issue