Index: mouse.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c,v retrieving revision 1.11 diff -u -r1.11 mouse.c --- mouse.c 15 Aug 2005 23:48:35 -0000 1.11 +++ mouse.c 23 Nov 2005 12:47:23 -0000 @@ -2183,6 +2183,9 @@ buttons &= ~wheelButtonMask; } + if (pMse->emulate3ButtonsSoft && pMse->emulate3Pending && (dx || dy)) + buttonTimer(pInfo); + if (dx || dy) xf86PostMotionEvent(pInfo->dev, 0, 0, 2, dx, dy); @@ -2259,7 +2262,8 @@ } if (pMse->emulate3Buttons - && (!(buttons & 0x02) || Emulate3ButtonsSoft(pInfo))) { + && (!(buttons & 0x02) || Emulate3ButtonsSoft(pInfo)) + && (!pMse->emulate3ButtonsSoft || (!dx && !dy))) { /* handle all but buttons 1 & 3 normally */