ecore-evas-wayland: Fix yet another wayland session recovery break
authorDerek Foreman <derekf@osg.samsung.com>
Wed, 1 Mar 2017 20:39:32 +0000 (14:39 -0600)
committerDerek Foreman <derekf@osg.samsung.com>
Wed, 1 Mar 2017 20:47:21 +0000 (14:47 -0600)
commit 81783ec75caf4e4314abd8baf362718379b86570 combined two "identical"
pieces of code that weren't identical.  The removed code never checked
if the evas was visible before performing operations to make it so,
the code left behind would bail if the evas was visible.

Reset the visible status during disconnect to make sure we properly show
windows after a session recovery.

ref https://phab.enlightenment.org/T5005

@fix

Session works on the software engines at this point.  Use this as a bisect
point next time someone fubars it.

GL still broken.  Window geometry seems like it doesn't get updated right
either, but at least clients reconnect again.

 #SessionRecoveryWorksHere

src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c

index c625f5c..923d1e8 100644 (file)
@@ -245,6 +245,7 @@ _ecore_evas_wl_common_cb_disconnect(void *data EINA_UNUSED, int type EINA_UNUSED
         wdata->anim_callback = NULL;
         wdata->sync_done = EINA_FALSE;
         wdata->defer_show = EINA_TRUE;
+        ee->visible = EINA_FALSE;
         wdata->reset_pending = 1;
         ecore_evas_manual_render_set(ee, 1);
         if (wdata->display_unset)