Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:
Make sure that the border isn't deleted if we do an internal hide.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.380
retrieving revision 1.381
diff -u -3 -r1.380 -r1.381
--- e_border.c  30 Aug 2005 05:17:38 -0000      1.380
+++ e_border.c  31 Aug 2005 04:41:47 -0000      1.381
@@ -545,7 +545,7 @@
    e_hints_window_visible_set(bd);
    bd->visible = 1;
    bd->changes.visible = 1;
-   
+
    visible = 1;
    ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MAPPED, &visible, 1);
    ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MANAGED, &visible, 1);
@@ -574,7 +574,7 @@
        bd->resize_mode = RESIZE_NONE;
        _e_border_resize_end(bd);
      }
-   
+
    e_container_shape_hide(bd->shape);
    /* FIXME: If the client unmaps itself, the border should be
     * withdrawn, not iconic */
@@ -592,6 +592,11 @@
             if (e_config->focus_revert_on_hide_or_close)
               e_desk_last_focused_focus(bd->desk);
          }
+       if (manage)
+         {
+            /* Make sure that this border isn't deleted */
+            bd->await_hide_event++;
+         }
        ecore_x_window_hide(bd->client.win);
      }
    
@@ -2308,9 +2313,13 @@
        return 1;
      }
    /* Don't delete hidden or iconified windows */
-   if ((bd->iconic) || (!bd->visible))
+   if ((bd->iconic) || (!bd->visible) || (bd->await_hide_event))
      {
-       e_border_hide(bd, 1);
+       if (bd->await_hide_event)
+         bd->await_hide_event--;
+       /* Only hide the border if it is visible */
+       if (bd->visible)
+         e_border_hide(bd, 1);
      }
    else
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -3 -r1.104 -r1.105
--- e_border.h  30 Aug 2005 01:42:56 -0000      1.104
+++ e_border.h  31 Aug 2005 04:41:48 -0000      1.105
@@ -277,6 +277,7 @@
    E_Container_Shape *shape;
    
    unsigned int    visible : 1;
+   unsigned int    await_hide_event;
    unsigned int    moving : 1;
    unsigned int    focused : 1;
    unsigned int    new_client : 1;




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to