Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        desktops.c desktops.h eobj.h 


Log Message:
Avoid unnecessary client list updates.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -3 -r1.179 -r1.180
--- desktops.c  11 Sep 2005 17:20:32 -0000      1.179
+++ desktops.c  11 Sep 2005 18:08:05 -0000      1.180
@@ -557,6 +557,8 @@
 {
    dsk->stack.dirty++;
    dsk->stack.latest = eo;
+   if (EobjGetType(eo) == EOBJ_TYPE_EWIN)
+      dsk->stack.update_client_list = 1;
    if (EventDebug(EDBUG_TYPE_STACKING))
       Eprintf("DeskSetDirtyStack %d (%d): %s\n", dsk->num, dsk->stack.dirty,
              EobjGetName(eo));
@@ -1263,10 +1265,6 @@
       Eprintf("DeskRestackSimple %#10lx %s %#10lx\n", EobjGetWin(eo),
              (xwc.stack_mode == Above) ? "Above" : "Below", xwc.sibling);
    XConfigureWindow(disp, EobjGetWin(eo), value_mask, &xwc);
-
-#if 1                          /* FIXME - Should not be here */
-   HintsSetClientStacking();
-#endif
 }
 
 #define _APPEND_TO_WIN_LIST(win) \
@@ -1310,12 +1308,16 @@
      }
 
    XRestackWindows(disp, wl, tot);
-   HintsSetClientStacking();
 
    if (wl)
       Efree(wl);
 
  done:
+   if (dsk->stack.update_client_list)
+     {
+       dsk->stack.update_client_list = 0;
+       HintsSetClientStacking();
+     }
    dsk->stack.dirty = 0;
    dsk->stack.latest = NULL;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- desktops.h  11 Sep 2005 17:20:32 -0000      1.3
+++ desktops.h  11 Sep 2005 18:08:05 -0000      1.4
@@ -42,6 +42,7 @@
    {
       int                 dirty;
       EObj               *latest;
+      char                update_client_list;
    } stack;
 };
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/eobj.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- eobj.h      11 Sep 2005 17:20:32 -0000      1.9
+++ eobj.h      11 Sep 2005 18:08:05 -0000      1.10
@@ -61,6 +61,7 @@
 #define EobjGetWin(eo)          ((eo)->win)
 #define EobjGetDesk(eo)         ((eo)->desk)
 #define EobjGetName(eo)         ((eo)->name)
+#define EobjGetType(eo)         ((eo)->type)
 #define EobjGetX(eo)            ((eo)->x)
 #define EobjGetY(eo)            ((eo)->y)
 #define EobjGetW(eo)            ((eo)->w)




-------------------------------------------------------
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