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

This commit is contained in:
Keith Packard 2012-11-01 13:38:54 -07:00
commit a194630f7f
8 changed files with 20 additions and 7 deletions

View File

@ -126,7 +126,8 @@ ProcXChangeDeviceControl(ClientPtr client)
.repType = X_Reply, .repType = X_Reply,
.RepType = X_ChangeDeviceControl, .RepType = X_ChangeDeviceControl,
.sequenceNumber = client->sequence, .sequenceNumber = client->sequence,
.length = 0 .length = 0,
.status = Success,
}; };
switch (stuff->control) { switch (stuff->control) {

View File

@ -1862,6 +1862,11 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
goto out; goto out;
} }
if (listener->state == LISTENER_AWAITING_BEGIN) {
listener->state = LISTENER_HAS_END;
goto out;
}
/* Event in response to reject */ /* Event in response to reject */
if (ev->device_event.flags & TOUCH_REJECT) { if (ev->device_event.flags & TOUCH_REJECT) {
if (listener->state != LISTENER_HAS_END) if (listener->state != LISTENER_HAS_END)

View File

@ -105,6 +105,9 @@ static struct dev_properties {
{0, AXIS_LABEL_PROP_ABS_MT_BLOB_ID}, {0, AXIS_LABEL_PROP_ABS_MT_BLOB_ID},
{0, AXIS_LABEL_PROP_ABS_MT_TRACKING_ID}, {0, AXIS_LABEL_PROP_ABS_MT_TRACKING_ID},
{0, AXIS_LABEL_PROP_ABS_MT_PRESSURE}, {0, AXIS_LABEL_PROP_ABS_MT_PRESSURE},
{0, AXIS_LABEL_PROP_ABS_MT_DISTANCE},
{0, AXIS_LABEL_PROP_ABS_MT_TOOL_X},
{0, AXIS_LABEL_PROP_ABS_MT_TOOL_Y},
{0, AXIS_LABEL_PROP_ABS_MISC}, {0, AXIS_LABEL_PROP_ABS_MISC},
{0, BTN_LABEL_PROP}, {0, BTN_LABEL_PROP},
{0, BTN_LABEL_PROP_BTN_UNKNOWN}, {0, BTN_LABEL_PROP_BTN_UNKNOWN},

View File

@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
coordinates were. coordinates were.
*/ */
if (flags & POINTER_SCREEN) { if (flags & POINTER_SCREEN) {
screenx = sx; scr = miPointerGetScreen(pDev);
screeny = sy; screenx = sx + scr->x;
screeny = sy + scr->y;
} }
scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative,

View File

@ -572,8 +572,8 @@ TouchBuildSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti,
return FALSE; return FALSE;
/* Mark which grabs/event selections we're delivering to: max one grab per /* Mark which grabs/event selections we're delivering to: max one grab per
* window plus the bottom-most event selection. */ * window plus the bottom-most event selection, plus any active grab. */
ti->listeners = calloc(sprite->spriteTraceGood + 1, sizeof(*ti->listeners)); ti->listeners = calloc(sprite->spriteTraceGood + 2, sizeof(*ti->listeners));
if (!ti->listeners) { if (!ti->listeners) {
sprite->spriteTraceGood = 0; sprite->spriteTraceGood = 0;
return FALSE; return FALSE;

View File

@ -376,7 +376,7 @@ static void
xf86ReleaseKeys(DeviceIntPtr pDev) xf86ReleaseKeys(DeviceIntPtr pDev)
{ {
KeyClassPtr keyc; KeyClassPtr keyc;
int i, sigstate; int i;
if (!pDev || !pDev->key) if (!pDev || !pDev->key)
return; return;

View File

@ -118,6 +118,9 @@
#define AXIS_LABEL_PROP_ABS_MT_BLOB_ID "Abs MT Blob ID" #define AXIS_LABEL_PROP_ABS_MT_BLOB_ID "Abs MT Blob ID"
#define AXIS_LABEL_PROP_ABS_MT_TRACKING_ID "Abs MT Tracking ID" #define AXIS_LABEL_PROP_ABS_MT_TRACKING_ID "Abs MT Tracking ID"
#define AXIS_LABEL_PROP_ABS_MT_PRESSURE "Abs MT Pressure" #define AXIS_LABEL_PROP_ABS_MT_PRESSURE "Abs MT Pressure"
#define AXIS_LABEL_PROP_ABS_MT_DISTANCE "Abs MT Distance"
#define AXIS_LABEL_PROP_ABS_MT_TOOL_X "Abs MT Tool X"
#define AXIS_LABEL_PROP_ABS_MT_TOOL_Y "Abs MT Tool Y"
#define AXIS_LABEL_PROP_ABS_MISC "Abs Misc" #define AXIS_LABEL_PROP_ABS_MISC "Abs Misc"
/* Button names */ /* Button names */

View File

@ -709,7 +709,7 @@ ProcessPointerEvent(InternalEvent *ev, DeviceIntPtr mouse)
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(mouse); xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(mouse);
DeviceEvent *event = &ev->device_event; DeviceEvent *event = &ev->device_event;
dev = IsFloating(mouse) ? mouse : GetMaster(mouse, MASTER_KEYBOARD); dev = (IsMaster(mouse) || IsFloating(mouse)) ? mouse : GetMaster(mouse, MASTER_KEYBOARD);
if (dev && dev->key) { if (dev && dev->key) {
xkbi = dev->key->xkbInfo; xkbi = dev->key->xkbInfo;