e_comp_wl: hide subsurface instead iconify it 80/100880/2
authorBoram Park <boram1288.park@samsung.com>
Tue, 29 Nov 2016 12:16:53 +0000 (21:16 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Tue, 29 Nov 2016 12:38:55 +0000 (04:38 -0800)
When iconified, attached buffer will be released. And client should
attach a buffer again when uniconified. This seems not proper operation
for subsurfaces.

Change-Id: Ifef9aa656cb8e447ee0c050172fb215a837dd792

src/bin/e_comp_wl.c

index 2d2dba3f0b8f8fd30ca3b407572f15efc82b54f1..8e532aef1ca8259d2666718e193222cd61b3f5e0 100644 (file)
@@ -4312,33 +4312,20 @@ _e_comp_wl_client_cb_move_end(void *data EINA_UNUSED, E_Client *ec)
 static void
 _e_comp_wl_client_cb_iconify(void *data EINA_UNUSED, E_Client *ec)
 {
-   E_Client *subc;
-   Eina_List *l;
-
    if (e_object_is_del(E_OBJECT(ec))) return;
    if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
-   EINA_LIST_FOREACH(ec->comp_data->sub.list, l, subc)
-     if (!subc->comp_data->sub.data->stand_alone)
-       e_client_iconify(subc);
-   EINA_LIST_FOREACH(ec->comp_data->sub.below_list, l, subc)
-     if (!subc->comp_data->sub.data->stand_alone)
-       e_client_iconify(subc);
+   /* DON'T iconify subsurface. When iconfied, buffer will be released. */
+   _e_comp_wl_subsurface_hide(ec);
 }
 
 static void
 _e_comp_wl_client_cb_uniconify(void *data EINA_UNUSED, E_Client *ec)
 {
-   E_Client *subc;
-   Eina_List *l;
-
    if (e_object_is_del(E_OBJECT(ec))) return;
    if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
-   EINA_LIST_FOREACH(ec->comp_data->sub.list, l, subc)
-     e_client_uniconify(subc);
-   EINA_LIST_FOREACH(ec->comp_data->sub.below_list, l, subc)
-     e_client_uniconify(subc);
+   _e_comp_wl_subsurface_show(ec);
 }
 
 static E_Client *