From 210c6b9b7cb0d938a3734e635edfdfc4de472003 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Thu, 8 Oct 2015 16:04:50 -0400 Subject: [PATCH] ecore-evas-wayland: Set ee->draw_ok appropriately based on visibility Summary: A previous code change to the common code which processes updates is relying on having the ecore_evas->draw_ok flag set in order to process updates. This change makes sure that ee->draw_ok is in sync with canvas visibility. @fix Signed-off-by: Chris Michael --- .../ecore_evas/engines/wayland/ecore_evas_wayland_egl.c | 3 +++ .../ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c index 2414e2f72b..1ba7542aa5 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c @@ -362,6 +362,8 @@ _ecore_evas_wl_show(Ecore_Evas *ee) if (ee->visible) return; ee->visible = 1; + ee->should_be_visible = 1; + ee->draw_ok = EINA_TRUE; if (ee->func.fn_show) ee->func.fn_show(ee); } @@ -397,6 +399,7 @@ _ecore_evas_wl_hide(Ecore_Evas *ee) if (!ee->visible) return; ee->visible = 0; ee->should_be_visible = 0; + ee->draw_ok = EINA_FALSE; if (ee->func.fn_hide) ee->func.fn_hide(ee); } diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c index d9b2894666..bf3f5fb99d 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c @@ -357,6 +357,8 @@ _ecore_evas_wl_show(Ecore_Evas *ee) if (ee->visible) return; ee->visible = 1; + ee->should_be_visible = 1; + ee->draw_ok = EINA_TRUE; if (ee->func.fn_show) ee->func.fn_show(ee); } @@ -392,6 +394,7 @@ _ecore_evas_wl_hide(Ecore_Evas *ee) if (!ee->visible) return; ee->visible = 0; ee->should_be_visible = 0; + ee->draw_ok = EINA_FALSE; if (ee->func.fn_hide) ee->func.fn_hide(ee); }