From c6a310c08407820e0c6fbf9613d7a8b55309ea12 Mon Sep 17 00:00:00 2001 From: Roman Peresipkyn Date: Wed, 11 May 2016 10:45:29 +0300 Subject: [PATCH] unbiding of non current client Change-Id: I49677cf142f6037c95ff4016acb50c8ba849109a Signed-off-by: Roman Peresipkyn --- src/e_mod_main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/e_mod_main.c b/src/e_mod_main.c index b24ef68..b8dd84a 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -1029,8 +1029,8 @@ _e_eom_wl_request_set_attribute_cb(struct wl_client *client, struct wl_resource if (resource == g_eom->current_client) { /* Current client can set any flag it wants */ - _e_eom_set_eom_attribute_by_current_client(attribute); - changes = EINA_TRUE; + _e_eom_set_eom_attribute_by_current_client(attribute); + changes = EINA_TRUE; } else { @@ -1149,7 +1149,10 @@ _e_eom_wl_resource_destory_cb(struct wl_resource *resource) EOM_DBG("client unbind\n"); g_eom->eom_clients = eina_list_remove(g_eom->eom_clients, resource); - g_eom->current_client = NULL; + + /* If not current client has been destroyed do nothing */ + if (resource != g_eom->current_client) + goto end2; /* If a client has been disconnected and mirror mode has not * been restore, start mirror mode @@ -1183,6 +1186,9 @@ end: WL_EOM_ERROR_NONE); } } + +end2: + g_eom->current_client = NULL; } /* wl_eom global object bind function */ -- 2.34.1