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

Reply via email to