forked from enlightenment/enlightenment
e_comp: reschedule when size is invalid
there is no point updating when the size of the comp is 0x0
This commit is contained in:
parent
ef788779f9
commit
04db77c4a9
|
@ -960,6 +960,13 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
|
|||
win = e_comp->win;
|
||||
else
|
||||
win = e_comp->cm_selection;
|
||||
|
||||
if (e_comp->h <= 0 || e_comp->w <= 0)
|
||||
{
|
||||
e_comp->shape_update_on_resize = EINA_TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
E_FREE_LIST(e_comp->debug_rects, evas_object_del);
|
||||
tb = eina_tiler_new(e_comp->w, e_comp->h);
|
||||
eina_tiler_tile_size_set(tb, 1, 1);
|
||||
|
|
|
@ -192,6 +192,7 @@ struct _E_Comp
|
|||
Eina_Bool updating E_BITFIELD; // running client updates
|
||||
|
||||
Eina_Bool frozen E_BITFIELD; // frozen - when power save freeze mode is on
|
||||
Eina_Bool shape_update_on_resize E_BITFIELD; //a shape update was scheduled but e_comp size was 0 in one dimension
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -625,6 +625,9 @@ e_comp_canvas_resize(int w, int h)
|
|||
e_comp->w = w;
|
||||
e_comp->h = h;
|
||||
ecore_evas_resize(e_comp->ee, w, h);
|
||||
if (e_comp->shape_update_on_resize) {
|
||||
e_comp_shape_queue();
|
||||
}
|
||||
}
|
||||
|
||||
E_API void
|
||||
|
|
Loading…
Reference in New Issue