Merge remote-tracking branch 'whot/for-keith'

This commit is contained in:
Keith Packard 2012-10-04 13:08:35 -07:00
commit 8367dd9736
5 changed files with 8 additions and 12 deletions

View File

@ -949,8 +949,6 @@ UpdateDeviceState(DeviceIntPtr device, DeviceEvent *event)
if (!(event->flags & TOUCH_POINTER_EMULATED)) if (!(event->flags & TOUCH_POINTER_EMULATED))
return DONT_PROCESS; return DONT_PROCESS;
if (!(event->flags & TOUCH_END))
return DONT_PROCESS;
DecreaseButtonCount(device, key, &t->buttonsDown, &t->motionMask, DecreaseButtonCount(device, key, &t->buttonsDown, &t->motionMask,
&t->state); &t->state);

View File

@ -1555,11 +1555,13 @@ ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time,
WindowPtr oldWin; WindowPtr oldWin;
/* slave devices need to float for the duration of the grab. */ /* slave devices need to float for the duration of the grab. */
if (grab->grabtype == XI2 && if (grab->grabtype == XI2 && keybd->enabled &&
!(passive & ImplicitGrabMask) && !IsMaster(keybd)) !(passive & ImplicitGrabMask) && !IsMaster(keybd))
DetachFromMaster(keybd); DetachFromMaster(keybd);
if (grabinfo->grab) if (!keybd->enabled)
oldWin = NULL;
else if (grabinfo->grab)
oldWin = grabinfo->grab->window; oldWin = grabinfo->grab->window;
else if (keybd->focus) else if (keybd->focus)
oldWin = keybd->focus->win; oldWin = keybd->focus->win;
@ -1569,7 +1571,8 @@ ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time,
oldWin = keybd->focus->win; oldWin = keybd->focus->win;
if (keybd->valuator) if (keybd->valuator)
keybd->valuator->motionHintWindow = NullWindow; keybd->valuator->motionHintWindow = NullWindow;
DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab); if (oldWin)
DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab);
if (syncEvents.playingEvents) if (syncEvents.playingEvents)
grabinfo->grabTime = syncEvents.time; grabinfo->grabTime = syncEvents.time;
else else

View File

@ -85,7 +85,7 @@ extern _X_EXPORT int xf86CheckIntOption(XF86OptionPtr optlist, const char *name,
extern _X_EXPORT double xf86CheckRealOption(XF86OptionPtr optlist, extern _X_EXPORT double xf86CheckRealOption(XF86OptionPtr optlist,
const char *name, double deflt); const char *name, double deflt);
extern _X_EXPORT char *xf86CheckStrOption(XF86OptionPtr optlist, extern _X_EXPORT char *xf86CheckStrOption(XF86OptionPtr optlist,
const char *name, char *deflt); const char *name, const char *deflt);
extern _X_EXPORT int xf86CheckBoolOption(XF86OptionPtr list, const char *name, extern _X_EXPORT int xf86CheckBoolOption(XF86OptionPtr list, const char *name,
int deflt); int deflt);
extern _X_EXPORT double xf86CheckPercentOption(XF86OptionPtr list, extern _X_EXPORT double xf86CheckPercentOption(XF86OptionPtr list,

View File

@ -276,7 +276,7 @@ xf86CheckRealOption(XF86OptionPtr optlist, const char *name, double deflt)
} }
char * char *
xf86CheckStrOption(XF86OptionPtr optlist, const char *name, char *deflt) xf86CheckStrOption(XF86OptionPtr optlist, const char *name, const char *deflt)
{ {
return LookupStrOption(optlist, name, deflt, FALSE); return LookupStrOption(optlist, name, deflt, FALSE);
} }

View File

@ -575,13 +575,8 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx,
miPointerPtr pPointer; miPointerPtr pPointer;
if (!pDev)
return NULL;
pPointer = MIPOINTER(pDev); pPointer = MIPOINTER(pDev);
pScreen = pPointer->pScreen; pScreen = pPointer->pScreen;
if (!pScreen)
return NULL; /* called before ready */
x = trunc(*screenx); x = trunc(*screenx);
y = trunc(*screeny); y = trunc(*screeny);