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