evas: Flush post-event callbacks only when needed

This avoids flushing the post-event cb queue when processing
recursive events. See 54e5841b2f.
This commit is contained in:
Jean-Philippe Andre 2017-02-16 20:17:12 +09:00
parent 8226fb2e87
commit a014b21400
1 changed files with 3 additions and 2 deletions

View File

@ -246,9 +246,10 @@ _evas_post_event_callback_call(Evas *eo_e, Evas_Public_Data *e, int min_event_id
e->running_post_events--;
_evas_unwalk(e);
if (!e->running_post_events && e->post_events)
if (!e->running_post_events && e->post_events
&& (e->current_event == EVAS_CALLBACK_LAST))
{
WRN("Not all post-event callbacks hve been processed!");
WRN("Not all post-event callbacks have been processed!");
_evas_post_event_callback_call(eo_e, e, 0);
}
}