e17/comp-scale: dont show border window if it is not bd->visible
authorHannes Janetzek <hannes.janetzek@gmail.com>
Wed, 10 Aug 2011 19:22:42 +0000 (19:22 +0000)
committerHannes Janetzek <hannes.janetzek@gmail.com>
Wed, 10 Aug 2011 19:22:42 +0000 (19:22 +0000)
this happend when hidden_override is unset on an invisible border or
when there are damage updates for a invisible border and cw->sh_obj ist not visible

fixes flickering of comp-scale pager windows from other desks on finish

SVN revision: 62308

src/modules/comp/e_mod_comp.c

index 342d817..565fa0e 100644 (file)
@@ -693,7 +693,7 @@ _e_mod_comp_win_update(E_Comp_Win *cw)
      }
 // FIXME: below cw update check screws with show
    if (/*(!cw->update) &&*/ (cw->visible) && (cw->dmg_updates >= 1) &&
-                            (cw->show_ready))
+       (cw->show_ready) && (!cw->bd || cw->bd->visible))
      {
         if (!evas_object_visible_get(cw->shobj))
           {
@@ -3069,8 +3069,10 @@ _e_mod_comp_src_hidden_set_func(void *data             __UNUSED__,
      if (cw->bd) e_border_comp_hidden_set(cw->bd, cw->hidden_override);
      if (cw->visible)
        {
-          if (cw->hidden_override) evas_object_hide(cw->shobj);
-          else evas_object_show(cw->shobj);
+          if (cw->hidden_override)
+           evas_object_hide(cw->shobj);
+          else if (!cw->bd || cw->bd->visible)
+           evas_object_show(cw->shobj);
        }
      else
        {