Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: moveresize.c Log Message: Oops - Fix incorrect tracking of pointer motion fix. =================================================================== RCS file: /cvs/e/e16/e/src/moveresize.c,v retrieving revision 1.83 retrieving revision 1.84 diff -u -3 -r1.83 -r1.84 --- moveresize.c 21 Dec 2007 22:04:55 -0000 1.83 +++ moveresize.c 22 Dec 2007 14:40:20 -0000 1.84 @@ -95,8 +95,11 @@ Mode.mode = MODE_MOVE_PENDING; Mode.constrained = constrained; - Mode_mr.win_x = Mode.events.cx - (EoGetX(ewin) + EoGetX(EoGetDesk(ewin))); - Mode_mr.win_y = Mode.events.cy - (EoGetY(ewin) + EoGetY(EoGetDesk(ewin))); + Mode_mr.start_x = Mode.events.cx; + Mode_mr.start_y = Mode.events.cy; + + Mode_mr.win_x = Mode_mr.start_x - (EoGetX(ewin) + EoGetX(EoGetDesk(ewin))); + Mode_mr.win_y = Mode_mr.start_y - (EoGetY(ewin) + EoGetY(EoGetDesk(ewin))); EwinRaise(ewin); gwins = ListWinGroupMembersForEwin(ewin, GROUP_ACTION_MOVE, nogroup @@ -502,10 +505,14 @@ i); } Mode.mode = MODE_MOVE; + dx = Mode.events.mx - Mode_mr.start_x; + dy = Mode.events.my - Mode_mr.start_y; + } + else + { + dx = Mode.events.mx - Mode.events.px; + dy = Mode.events.my - Mode.events.py; } - - dx = Mode.events.mx - Mode.events.px; - dy = Mode.events.my - Mode.events.py; jumpx = 0; jumpy = 0; @@ -650,18 +657,17 @@ /* check for sufficient overlap and avoid flickering */ if (((ewin1->shape_x >= ewin2->shape_x && - ewin1->shape_x <= ewin2->shape_x + - EoGetW(ewin2) / 2 && Mode.events.mx <= - Mode.events.px) || + ewin1->shape_x <= ewin2->shape_x + EoGetW(ewin2) / 2 && + dx <= 0) || (ewin1->shape_x <= ewin2->shape_x && - ewin1->shape_x + EoGetW(ewin1) / 2 >= - ewin2->shape_x && Mode.events.mx >= Mode.events.px)) && + ewin1->shape_x + EoGetW(ewin1) / 2 >= ewin2->shape_x && + dx >= 0)) && ((ewin1->shape_y >= ewin2->shape_y && ewin1->shape_y <= ewin2->shape_y + EoGetH(ewin2) / 2 && - Mode.events.my <= Mode.events.py) || + dy <= 0) || (EoGetY(ewin1) <= EoGetY(ewin2) && - ewin1->shape_y + EoGetH(ewin1) / 2 >= - ewin2->shape_y && Mode.events.my >= Mode.events.py))) + ewin1->shape_y + EoGetH(ewin1) / 2 >= ewin2->shape_y && + dy >= 0))) { int tmp_swapcoord_x; int tmp_swapcoord_y; ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs