add hook for evas callback hide so we can hide any video children
authorChris Michael <cp.michael@samsung.com>
Thu, 16 Oct 2014 16:28:37 +0000 (12:28 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 30 Oct 2014 14:39:07 +0000 (10:39 -0400)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/bin/e_comp_wl.c

index 32e7188..360ec66 100644 (file)
@@ -83,9 +83,6 @@ _e_comp_wl_evas_cb_show(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EIN
 
    if (!(ec = data)) return;
 
-   /* check for wayland pixmap */
-   E_COMP_WL_PIXMAP_CHECK;
-
    if (!ec->override) e_hints_window_visible_set(ec);
 
    EINA_LIST_FOREACH(ec->e.state.video_child, l, tmp)
@@ -93,10 +90,24 @@ _e_comp_wl_evas_cb_show(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EIN
 }
 
 static void 
+_e_comp_wl_evas_cb_hide(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
+{
+   E_Client *ec, *tmp;
+   Eina_List *l;
+
+   if (!(ec = data)) return;
+
+   EINA_LIST_FOREACH(ec->e.state.video_child, l, tmp)
+     evas_object_hide(tmp->frame);
+}
+
+static void 
 _e_comp_wl_client_evas_init(E_Client *ec)
 {
    evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_SHOW, 
                                   _e_comp_wl_evas_cb_show, ec);
+   evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_HIDE, 
+                                  _e_comp_wl_evas_cb_hide, ec);
 
    ec->comp_data->evas_init = EINA_TRUE;
 }