Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: desktops.c ecompmgr.c ecompmgr.h eobj.c eobj.h Log Message: Stacking fix, cleanups. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.180 retrieving revision 1.181 diff -u -3 -r1.180 -r1.181 --- desktops.c 11 Sep 2005 18:08:05 -0000 1.180 +++ desktops.c 17 Sep 2005 14:22:04 -0000 1.181 @@ -978,9 +978,6 @@ if (dsk->tag) ButtonMoveRelative(dsk->tag, dx, dy); - EoGetX(dsk) = x; - EoGetY(dsk) = y; - lst = EwinListGetAll(&n); for (i = 0; i < (unsigned int)n; i++) if (EoGetDesk(lst[i]) == dsk) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -3 -r1.59 -r1.60 --- ecompmgr.c 11 Sep 2005 11:29:29 -0000 1.59 +++ ecompmgr.c 17 Sep 2005 14:22:05 -0000 1.60 @@ -1309,12 +1309,13 @@ } void -ECompMgrWinReparent(EObj * eo, int desk, int change_xy) +ECompMgrWinReparent(EObj * eo, Desk * dsk, int change_xy) { ECmWinInfo *cw = eo->cmhook; D1printf("ECompMgrWinReparent %#lx %#lx d=%d->%d x,y=%d,%d %d\n", - eo->win, cw->extents, eo->desk->num, desk, eo->x, eo->y, change_xy); + eo->win, cw->extents, eo->desk->num, dsk->num, eo->x, eo->y, + change_xy); /* Invalidate old window region */ if (EventDebug(EDBUG_TYPE_COMPMGR3)) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- ecompmgr.h 11 Sep 2005 10:39:16 -0000 1.17 +++ ecompmgr.h 17 Sep 2005 14:22:05 -0000 1.18 @@ -32,6 +32,8 @@ int shadow; } cfg_composite; +struct _desk; + int EVisualIsARGB(Visual * vis); void ECompMgrRepaint(void); @@ -42,7 +44,8 @@ void ECompMgrWinUnmap(EObj * eo); void ECompMgrWinMoveResize(EObj * eo, int change_xy, int change_wh, int change_bw); -void ECompMgrWinReparent(EObj * eo, int desk, int change_xy); +void ECompMgrWinReparent(EObj * eo, struct _desk *dsk, + int change_xy); void ECompMgrWinChangeStacking(EObj * eo); void ECompMgrWinChangeShape(EObj * eo); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/eobj.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- eobj.c 11 Sep 2005 17:20:32 -0000 1.47 +++ eobj.c 17 Sep 2005 14:22:05 -0000 1.48 @@ -28,17 +28,6 @@ #include "xwin.h" void -EobjSetDesk(EObj * eo, Desk * dsk) -{ - if (!dsk || dsk == eo->desk) - return; - - if (eo->stacked > 0) - DeskSetDirtyStack(dsk, eo); - eo->desk = dsk; -} - -void EobjSetLayer(EObj * eo, int layer) { int ilayer = eo->ilayer; @@ -290,11 +279,7 @@ EobjListStackRaise(eo); if (eo->stacked <= 0 || raise > 1) - { - if (eo->stacked < 0) - DeskSetDirtyStack(eo->desk, eo); - DeskRestack(eo->desk); - } + DeskRestack(eo->desk); EMapWindow(eo->win); #if USE_COMPOSITE @@ -373,11 +358,18 @@ { Desk *dsk = (Desk *) dst; + if (eo->stacked < 0) + { + eo->desk = NULL; + eo->stacked = 0; + } + if (eo->desk != dsk) + DeskSetDirtyStack(dsk, eo); #if USE_COMPOSITE if (eo->shown && eo->cmhook) - ECompMgrWinReparent(eo, dsk->num, move); + ECompMgrWinReparent(eo, dsk, move); #endif - EobjSetDesk(eo, dsk); + eo->desk = dsk; } else { =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/eobj.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- eobj.h 11 Sep 2005 18:08:05 -0000 1.10 +++ eobj.h 17 Sep 2005 14:22:05 -0000 1.11 @@ -86,7 +86,7 @@ #define EoSetName(eo, _x) (eo)->o.name = (_x) #define EoSetSticky(eo, _x) (eo)->o.sticky = ((_x)?1:0) #define EoSetFloating(eo, _f) EobjSetFloating(EoObj(eo), (_f)) -#define EoSetDesk(eo, _d) EobjSetDesk(EoObj(eo), (_d)) +#define EoSetDesk(eo, _x) (eo)->o.desk = (_x) #define EoSetLayer(eo, _l) EobjSetLayer(EoObj(eo), (_l)) #if USE_COMPOSITE #define EoSetOpacity(eo, _o) (eo)->o.opacity = (_o) @@ -144,7 +144,6 @@ #else #define EobjChangeOpacity(eo, opacity) #endif -void EobjSetDesk(EObj * eo, struct _desk *dsk); void EobjSetLayer(EObj * eo, int layer); void EobjSetFloating(EObj * eo, int floating); int EobjIsShaped(const EObj * eo); ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs