e: quick fix when shading a window with a linked video.
authorCedric BAIL <cedric.bail@free.fr>
Fri, 21 Oct 2011 16:25:45 +0000 (16:25 +0000)
committerCedric BAIL <cedric.bail@free.fr>
Fri, 21 Oct 2011 16:25:45 +0000 (16:25 +0000)
SVN revision: 64260

src/bin/e_border.c

index 93cc233..f31f6b5 100644 (file)
@@ -2141,6 +2141,8 @@ e_border_shade(E_Border   *bd,
                E_Direction dir)
 {
    E_Event_Border_Resize *ev;
+   Eina_List *l;
+   E_Border *tmp;
 
    E_OBJECT_CHECK(bd);
    E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
@@ -2149,6 +2151,9 @@ e_border_shade(E_Border   *bd,
    if ((bd->client.border.name) &&
        (!strcmp("borderless", bd->client.border.name))) return;
 
+   EINA_LIST_FOREACH(bd->client.e.state.video_child, l, tmp)
+     ecore_x_window_hide(tmp->win);
+
    ecore_x_window_shadow_tree_flush();
 
    bd->shade.x = bd->x;
@@ -2230,12 +2235,17 @@ e_border_unshade(E_Border   *bd,
                  E_Direction dir)
 {
    E_Event_Border_Resize *ev;
+   Eina_List *l;
+   E_Border *tmp;
 
    E_OBJECT_CHECK(bd);
    E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
    if ((!bd->shaded) || (bd->shading))
      return;
 
+   EINA_LIST_FOREACH(bd->client.e.state.video_child, l, tmp)
+     ecore_x_window_show(tmp->win);
+
    ecore_x_window_shadow_tree_flush();
 
    bd->shade.dir = dir;