aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-03-15 14:36:27 -0500
committerDerek Foreman <derekf@osg.samsung.com>2018-03-15 14:41:15 -0500
commit8b962d24acf192bd6c22de779c57eac73dd2f4db (patch)
tree43d55bcc5fdba1e9539aec2afd2f2a9c292caee9
parenteolian: fix minor memory leaks (diff)
downloadefl-8b962d24acf192bd6c22de779c57eac73dd2f4db.tar.gz
ee_wayland: Prevent extra commits
It's possible that we unregister then reregister an animator so quickly that the ecore_evas idle enter/exiters haven't had a chance to run yet. In this case a render will come shortly anyway and we shouldn't use a 'false' commit to kick off a frame callback. Silences an ERR and unmeasurably improves protocol utilization.
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index ae3b3dc06d..adadf9fabc 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -58,7 +58,8 @@ _ecore_evas_wl_common_animator_register(Ecore_Evas *ee)
edata->frame = ecore_wl2_window_frame_callback_add(edata->win,
_anim_cb_tick, ee);
- if (!ecore_wl2_window_pending_get(edata->win) && !ee->in_async_render)
+ if (!ecore_wl2_window_pending_get(edata->win) && !ee->in_async_render &&
+ !ee->animator_ticked && !ee->animator_ran)
ecore_wl2_window_false_commit(edata->win);
edata->ticking = EINA_TRUE;
}