forked from enlightenment/efl
ecore_evas_extn: Modify not to send a message if there is nothing to draw
Summary: Seding ipc messages on ews_update_image(which is invoked as a callback of EVAS_RENDER_POST) can makes ecore main loop awake, because sending ipc messages makes message_queue not empty. so that this patch prevent seding ipc logic if there is nothing to draw. Reviewers: cedric, raster Reviewed By: raster Subscribers: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6055
This commit is contained in:
parent
9cf5b97a8a
commit
fef2a12ef6
|
@ -1542,27 +1542,30 @@ _ecore_evas_ews_update_image(void *data, Evas *e EINA_UNUSED, void *event_info)
|
|||
prev_b = extn->prev_b;
|
||||
_extnbuf_unlock(extn->b[prev_b].buf);
|
||||
|
||||
EINA_LIST_FOREACH(post->updated_area, l, r)
|
||||
if (post->updated_area)
|
||||
{
|
||||
Ipc_Data_Update ipc;
|
||||
Eina_List *ll;
|
||||
EINA_LIST_FOREACH(post->updated_area, l, r)
|
||||
{
|
||||
Ipc_Data_Update ipc;
|
||||
Eina_List *ll;
|
||||
|
||||
ipc.x = r->x;
|
||||
ipc.y = r->y;
|
||||
ipc.w = r->w;
|
||||
ipc.h = r->h;
|
||||
EINA_LIST_FOREACH(extn->ipc.clients, ll, client)
|
||||
ecore_ipc_client_send(client, MAJOR, OP_UPDATE, 0, 0, 0, &ipc,
|
||||
sizeof(ipc));
|
||||
}
|
||||
ipc.x = r->x;
|
||||
ipc.y = r->y;
|
||||
ipc.w = r->w;
|
||||
ipc.h = r->h;
|
||||
EINA_LIST_FOREACH(extn->ipc.clients, ll, client)
|
||||
ecore_ipc_client_send(client, MAJOR, OP_UPDATE, 0, 0, 0, &ipc,
|
||||
sizeof(ipc));
|
||||
}
|
||||
|
||||
EINA_LIST_FOREACH(extn->ipc.clients, l, client)
|
||||
ecore_ipc_client_send(client, MAJOR, OP_UPDATE_DONE, 0, 0,
|
||||
prev_b, NULL, 0);
|
||||
if (extn->profile.done)
|
||||
{
|
||||
_ecore_evas_extn_socket_window_profile_change_done_send(ee);
|
||||
extn->profile.done = EINA_FALSE;
|
||||
EINA_LIST_FOREACH(extn->ipc.clients, l, client)
|
||||
ecore_ipc_client_send(client, MAJOR, OP_UPDATE_DONE, 0, 0,
|
||||
prev_b, NULL, 0);
|
||||
if (extn->profile.done)
|
||||
{
|
||||
_ecore_evas_extn_socket_window_profile_change_done_send(ee);
|
||||
extn->profile.done = EINA_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue