e_comp_wl_shell: fix to do not evas_object_show during map when iconified by client 29/178429/2 accepted/tizen/unified/20180510.090026 submit/tizen/20180510.064129
authorJunSeok, Kim <juns.kim@samsung.com>
Thu, 10 May 2018 05:10:28 +0000 (14:10 +0900)
committerJunSeok Kim <juns.kim@samsung.com>
Thu, 10 May 2018 05:36:12 +0000 (05:36 +0000)
once client is unmaped and trying to map again to show,
server should check if it is iconified by client at the step of #2
otherwise, focus gets wrong while calculating visibility zone

Client                        Server
1. raise        --------->    ec->frame restack
2. show            --------->    ec map
3. uniconify by client    --------->    ec->frame show

Change-Id: I137719481920d2d0b1e8fae03e23839a6a82b607

src/bin/e_comp_wl_shell.c

index f5ab9e6d39e786f06eed44ca40aecce6b5d5c029..9ea9d459e54fe04ad603f0ef57319604de4ef7f3 100644 (file)
@@ -527,7 +527,8 @@ _e_shell_client_map_common_pre(E_Client *ec)
 
    /* map this surface if needed */
    ec->visible = EINA_TRUE;
-   evas_object_show(ec->frame);
+   if (!ec->exp_iconify.by_client)
+     evas_object_show(ec->frame);
    ec->comp_data->mapped = EINA_TRUE;
 }