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;
|
win = e_comp->win;
|
||||||
else
|
else
|
||||||
win = e_comp->cm_selection;
|
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);
|
E_FREE_LIST(e_comp->debug_rects, evas_object_del);
|
||||||
tb = eina_tiler_new(e_comp->w, e_comp->h);
|
tb = eina_tiler_new(e_comp->w, e_comp->h);
|
||||||
eina_tiler_tile_size_set(tb, 1, 1);
|
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 updating E_BITFIELD; // running client updates
|
||||||
|
|
||||||
Eina_Bool frozen E_BITFIELD; // frozen - when power save freeze mode is on
|
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->w = w;
|
||||||
e_comp->h = h;
|
e_comp->h = h;
|
||||||
ecore_evas_resize(e_comp->ee, w, h);
|
ecore_evas_resize(e_comp->ee, w, h);
|
||||||
|
if (e_comp->shape_update_on_resize) {
|
||||||
|
e_comp_shape_queue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
E_API void
|
E_API void
|
||||||
|
|
Loading…
Reference in New Issue