forked from enlightenment/enlightenment
Track whether objects are on the post_updates list or not
Will use this to prevent accidentally adding objects to the list twice
This commit is contained in:
parent
4ba7648c41
commit
d38cc38b9d
|
@ -698,6 +698,7 @@ struct E_Client
|
||||||
Eina_Bool maximize_override : 1; // client is doing crazy stuff and should "just do it" when moving/resizing
|
Eina_Bool maximize_override : 1; // client is doing crazy stuff and should "just do it" when moving/resizing
|
||||||
Eina_Bool keyboard_resizing : 1;
|
Eina_Bool keyboard_resizing : 1;
|
||||||
|
|
||||||
|
Eina_Bool on_post_updates : 1; // client is on the post update list
|
||||||
#ifdef HAVE_WAYLAND
|
#ifdef HAVE_WAYLAND
|
||||||
uuid_t uuid;
|
uuid_t uuid;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -53,6 +53,7 @@ _e_comp_canvas_render_post(void *data EINA_UNUSED, Evas *e EINA_UNUSED, void *ev
|
||||||
EINA_LIST_FREE(e_comp->post_updates, ec)
|
EINA_LIST_FREE(e_comp->post_updates, ec)
|
||||||
{
|
{
|
||||||
//INF("POST %p", ec);
|
//INF("POST %p", ec);
|
||||||
|
ec->on_post_updates = EINA_FALSE;
|
||||||
if (!e_object_is_del(E_OBJECT(ec)))
|
if (!e_object_is_del(E_OBJECT(ec)))
|
||||||
e_pixmap_image_clear(ec->pixmap, 1);
|
e_pixmap_image_clear(ec->pixmap, 1);
|
||||||
UNREFD(ec, 111);
|
UNREFD(ec, 111);
|
||||||
|
|
|
@ -900,6 +900,7 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj EINA_UNUSED)
|
||||||
if (cw->native)
|
if (cw->native)
|
||||||
{
|
{
|
||||||
E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
|
E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
|
||||||
|
cw->ec->on_post_updates = EINA_TRUE;
|
||||||
e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
|
e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
|
||||||
REFD(cw->ec, 111);
|
REFD(cw->ec, 111);
|
||||||
e_object_ref(E_OBJECT(cw->ec));
|
e_object_ref(E_OBJECT(cw->ec));
|
||||||
|
@ -3787,6 +3788,7 @@ end:
|
||||||
E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
|
E_FREE_FUNC(cw->pending_updates, eina_tiler_free);
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
|
cw->ec->on_post_updates = EINA_TRUE;
|
||||||
e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
|
e_comp->post_updates = eina_list_append(e_comp->post_updates, cw->ec);
|
||||||
REFD(cw->ec, 111);
|
REFD(cw->ec, 111);
|
||||||
e_object_ref(E_OBJECT(cw->ec));
|
e_object_ref(E_OBJECT(cw->ec));
|
||||||
|
|
Loading…
Reference in New Issue