diff options
Diffstat (limited to 'xorg-server/xkb/xkbActions.c')
-rw-r--r-- | xorg-server/xkb/xkbActions.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/xorg-server/xkb/xkbActions.c b/xorg-server/xkb/xkbActions.c index 48eeeb772..44675c9fe 100644 --- a/xorg-server/xkb/xkbActions.c +++ b/xorg-server/xkb/xkbActions.c @@ -948,15 +948,15 @@ _XkbFilterDeviceBtn( XkbSrvInfoPtr xkbi, DeviceIntPtr dev;
int button;
- if (xkbi->device == inputInfo.keyboard)
- return 0;
-
if (filter->keycode==0) { /* initial press */
_XkbLookupButtonDevice(&dev, pAction->devbtn.device, serverClient,
DixUnknownAccess, &button);
if (!dev || !dev->public.on)
return 1;
+ if (xkbi->device == inputInfo.keyboard)
+ return 0;
+
button= pAction->devbtn.button;
if ((button<1)||(button>dev->button->numButtons))
return 1;
@@ -1331,6 +1331,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) int nevents, i;
DeviceIntPtr ptr;
int gpe_flags = 0;
+ int Point[]={x, y};
if (!dev->u.master)
ptr = dev;
@@ -1346,7 +1347,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) OsBlockSignals();
nevents = GetPointerEvents(events, ptr,
MotionNotify, 0,
- gpe_flags, 0, 2, (int[]){x, y});
+ gpe_flags, 0, 2, Point);
OsReleaseSignals();
for (i = 0; i < nevents; i++)
|