ecore-evas-wayland: Set ee->draw_ok appropriately based on visibility
authorChris Michael <cp.michael@samsung.com>
Thu, 8 Oct 2015 20:04:50 +0000 (16:04 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 8 Oct 2015 20:10:53 +0000 (16:10 -0400)
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 <cp.michael@samsung.com>
src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c

index 2414e2f..1ba7542 100644 (file)
@@ -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);
 }
index d9b2894..bf3f5fb 100644 (file)
@@ -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);
 }