diff options
author | marha <marha@users.sourceforge.net> | 2010-11-15 16:51:22 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-11-15 16:51:22 +0000 |
commit | f586b49ae23c573681b939ca44b3f418c83c84b2 (patch) | |
tree | ffafe2da4517c5121ab4a8c64966e72829147215 /xorg-server/xkb/xkbActions.c | |
parent | 728ff03357b2dfd7048ab093183a239a0ba044c4 (diff) | |
parent | 3a82f8a35b2c6d094cf9d0d5a3ccb9dd9b85f626 (diff) | |
download | vcxsrv-f586b49ae23c573681b939ca44b3f418c83c84b2.tar.gz vcxsrv-f586b49ae23c573681b939ca44b3f418c83c84b2.tar.bz2 vcxsrv-f586b49ae23c573681b939ca44b3f418c83c84b2.zip |
svn merge "^/branches/released" .
Solved mouse motion bug in new version of dix/getevents.c
Diffstat (limited to 'xorg-server/xkb/xkbActions.c')
-rw-r--r-- | xorg-server/xkb/xkbActions.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/xorg-server/xkb/xkbActions.c b/xorg-server/xkb/xkbActions.c index 7a5f2b241..83e5eaf41 100644 --- a/xorg-server/xkb/xkbActions.c +++ b/xorg-server/xkb/xkbActions.c @@ -42,6 +42,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include <ctype.h>
#include "mi.h"
#include "mipointer.h"
+#include "inpututils.h"
#define EXTENSION_EVENT_BASE 64
DevPrivateKeyRec xkbDevicePrivateKeyRec;
@@ -1354,7 +1355,7 @@ xkbStateNotify sn; * First one on drinking island wins!
*/
static void
-InjectPointerKeyEvents(DeviceIntPtr dev, int type, int button, int flags, int num_valuators, int *valuators)
+InjectPointerKeyEvents(DeviceIntPtr dev, int type, int button, int flags, ValuatorMask *mask)
{
ScreenPtr pScreen;
EventListPtr events;
@@ -1376,8 +1377,7 @@ InjectPointerKeyEvents(DeviceIntPtr dev, int type, int button, int flags, int nu OsBlockSignals();
pScreen = miPointerGetScreen(ptr);
saveWait = miPointerSetWaitForUpdate(pScreen, FALSE);
- nevents = GetPointerEvents(events, ptr, type, button, flags, 0,
- num_valuators, valuators);
+ nevents = GetPointerEvents(events, ptr, type, button, flags, mask);
if (IsMaster(dev) && (lastSlave && lastSlave != ptr))
UpdateFromMaster(&events[nevents], lastSlave, DEVCHANGE_POINTER_EVENT, &nevents);
miPointerSetWaitForUpdate(pScreen, saveWait);
@@ -1393,6 +1393,7 @@ InjectPointerKeyEvents(DeviceIntPtr dev, int type, int button, int flags, int nu static void
XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y)
{
+ ValuatorMask mask;
int gpe_flags = 0;
int Point[]={x, y};
@@ -1405,7 +1406,9 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) else
gpe_flags = POINTER_RELATIVE;
- InjectPointerKeyEvents(dev, MotionNotify, 0, gpe_flags, 2, Point);
+ valuator_mask_set_range(&mask, 0, 2, Point);
+
+ InjectPointerKeyEvents(dev, MotionNotify, 0, gpe_flags, &mask);
}
void
@@ -1435,5 +1438,5 @@ XkbFakeDeviceButton(DeviceIntPtr dev,Bool press,int button) return;
InjectPointerKeyEvents(dev, press ? ButtonPress : ButtonRelease,
- button, 0, 0, NULL);
+ button, 0, NULL);
}
|