Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: borders.c moveresize.c pager.c Log Message: Fix several window placement bugs. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v retrieving revision 1.196 retrieving revision 1.197 diff -u -3 -r1.196 -r1.197 --- borders.c 26 Jun 2004 17:49:01 -0000 1.196 +++ borders.c 26 Jun 2004 18:24:39 -0000 1.197 @@ -538,8 +538,8 @@ } /* ((!ewin->client.already_placed) && (!manplace)) */ else { - x = ewin->client.x; - y = ewin->client.y; + x = ewin->x; + y = ewin->y; switch (ewin->client.grav) { case NorthWestGravity: @@ -1150,10 +1150,10 @@ } static void -EwinGetSize(EWin * ewin) +EwinGetGeometry(EWin * ewin) { - ewin->x = ewin->client.x - ewin->border->border.left; - ewin->y = ewin->client.y - ewin->border->border.top; + ewin->shape_x = ewin->x = ewin->client.x - ewin->border->border.left; + ewin->shape_y = ewin->y = ewin->client.y - ewin->border->border.top; ewin->w = ewin->client.w + ewin->border->border.left + ewin->border->border.right; ewin->h = ewin->client.h + @@ -1183,15 +1183,14 @@ MatchEwinToSnapInfo(ewin); if (Mode.wm.startup) ICCCM_GetEInfo(ewin); + ICCCM_MatchSize(ewin); + ICCCM_Adopt(ewin); if (!ewin->border) EwinSetBorderInit(ewin); EwinSetBorderTo(ewin, NULL); - ICCCM_MatchSize(ewin); - ICCCM_Adopt(ewin); - - EwinGetSize(ewin); + EwinGetGeometry(ewin); EwinEventsConfigure(ewin, 0); UngrabX(); @@ -1258,15 +1257,14 @@ break; } MatchEwinToSnapInfo(ewin); + ICCCM_MatchSize(ewin); + ICCCM_Adopt(ewin); if (!ewin->border) EwinSetBorderInit(ewin); EwinSetBorderTo(ewin, NULL); - ICCCM_MatchSize(ewin); - ICCCM_Adopt(ewin); - - EwinGetSize(ewin); + EwinGetGeometry(ewin); EwinEventsConfigure(ewin, 0); UngrabX(); @@ -1575,7 +1573,7 @@ EwinSetBorderTo(EWin * ewin, Border * b) { int i; - int px = -1, py = -1; + int px = 0, py = 0; char s[1024]; AwaitIclass *await; @@ -1693,12 +1691,7 @@ if (!ewin->shaded) EMoveWindow(disp, ewin->win_container, b->border.left, b->border.top); - if ((px >= 0) && (py >= 0)) - { - MoveEwin(ewin, ewin->x + (px - ewin->border->border.left), - ewin->y + (py - ewin->border->border.top)); - } - ICCCM_Configure(ewin); + CalcEwinSizes(ewin); PropagateShapes(ewin->win); @@ -1716,6 +1709,7 @@ if (ewin->border != b) { EwinSetBorderTo(ewin, b); + EwinGetGeometry(ewin); ICCCM_MatchSize(ewin); MoveResizeEwin(ewin, ewin->x, ewin->y, ewin->client.w, ewin->client.h); @@ -1857,8 +1851,8 @@ move = 1; ewin->x = x; ewin->y = y; - ewin->client.x += dx; - ewin->client.y += dy; + ewin->client.x = x + ewin->border->border.left; + ewin->client.y = y + ewin->border->border.top; } if (flags & MR_FLAGS_RESIZE) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/moveresize.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- moveresize.c 18 Jun 2004 20:12:09 -0000 1.18 +++ moveresize.c 26 Jun 2004 18:24:39 -0000 1.19 @@ -74,6 +74,9 @@ DrawEwinShape(gwins[i], Conf.movemode, gwins[i]->x, gwins[i]->y, gwins[i]->client.w, gwins[i]->client.h, 0); #endif + /* This shouldn't be necessary ... will figure it out some other time */ + gwins[i]->shape_x = gwins[i]->x; + gwins[i]->shape_y = gwins[i]->y; } Efree(gwins); move_swapcoord_x = ewin->x; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v retrieving revision 1.96 retrieving revision 1.97 diff -u -3 -r1.96 -r1.97 --- pager.c 18 Jun 2004 20:12:09 -0000 1.96 +++ pager.c 26 Jun 2004 18:24:39 -0000 1.97 @@ -370,7 +370,7 @@ ewin->client.h = 1; if (sn) { - ResizeEwin(ewin, w, h); + MoveResizeEwin(ewin, ewin->x, ewin->y, w, h); } else { ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs