evas: Flush post-event callbacks only when needed
authorJean-Philippe Andre <jp.andre@samsung.com>
Thu, 16 Feb 2017 11:17:12 +0000 (20:17 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 16 Feb 2017 11:17:12 +0000 (20:17 +0900)
This avoids flushing the post-event cb queue when processing
recursive events. See 54e5841b2f6386765dd5e2831aa3481b952e5.

src/lib/evas/canvas/evas_callbacks.c

index d4fd953..c57682c 100644 (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);
      }
 }