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 24c7341ed..294a2db9a 100644 --- a/xorg-server/xkb/xkbActions.c +++ b/xorg-server/xkb/xkbActions.c @@ -956,15 +956,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;
@@ -1341,6 +1341,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) ScreenPtr pScreen;
Bool saveWait;
int gpe_flags = 0;
+ int Point[]={x, y};
if (IsMaster(dev))
ptr = GetXTestDevice(GetMaster(dev, MASTER_POINTER));
@@ -1360,7 +1361,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) saveWait = miPointerSetWaitForUpdate(pScreen, FALSE);
nevents = GetPointerEvents(events, ptr,
MotionNotify, 0,
- gpe_flags, 0, 2, (int[]){x, y});
+ gpe_flags, 0, 2, Point);
miPointerSetWaitForUpdate(pScreen, saveWait);
OsReleaseSignals();
|