diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c index 8795b7f4a5..2e18c5d06c 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c @@ -2544,8 +2544,10 @@ _ecore_evas_x_flush_pre(void *data, Evas *e __UNUSED__, void *event_info __UNUSE { ee->engine.x.sync_val++; if (!ee->engine.x.sync_cancel) - ecore_x_sync_counter_val_wait(ee->engine.x.sync_counter, - ee->engine.x.sync_val); + { + ecore_x_sync_counter_val_wait(ee->engine.x.sync_counter, + ee->engine.x.sync_val); + } } } } @@ -2559,8 +2561,14 @@ _ecore_evas_x_flush_post(void *data, Evas *e __UNUSED__, void *event_info __UNUS if (!_ecore_evas_app_comp_sync) return; if (ee->engine.x.sync_counter) { - ecore_x_e_comp_sync_draw_done_send(ee->engine.x.win_root, - ee->prop.window); + if (ee->engine.x.sync_began) + { + if (!ee->engine.x.sync_cancel) + { + ecore_x_e_comp_sync_draw_done_send(ee->engine.x.win_root, + ee->prop.window); + } + } } } #endif