Merge remote-tracking branch 'whot/for-keith'
This commit is contained in:
commit
71594746c7
|
@ -671,7 +671,7 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
|
||||||
|
|
||||||
if (from->touch)
|
if (from->touch)
|
||||||
{
|
{
|
||||||
TouchPointInfoPtr tmp;
|
TouchClassPtr t, f;
|
||||||
if (!to->touch)
|
if (!to->touch)
|
||||||
{
|
{
|
||||||
classes = to->unused_classes;
|
classes = to->unused_classes;
|
||||||
|
@ -692,17 +692,22 @@ DeepCopyPointerClasses(DeviceIntPtr from, DeviceIntPtr to)
|
||||||
} else
|
} else
|
||||||
classes->touch = NULL;
|
classes->touch = NULL;
|
||||||
}
|
}
|
||||||
tmp = to->touch->touches;
|
|
||||||
memcpy(to->touch, from->touch, sizeof(TouchClassRec));
|
|
||||||
to->touch->touches = tmp;
|
t = to->touch;
|
||||||
to->touch->sourceid = from->id;
|
f = from->touch;
|
||||||
} else if (to->touch)
|
t->sourceid = f->sourceid;
|
||||||
{
|
t->max_touches = f->max_touches;
|
||||||
ClassesPtr classes;
|
t->mode = f->mode;
|
||||||
classes = to->unused_classes;
|
t->buttonsDown = f->buttonsDown;
|
||||||
classes->touch = to->touch;
|
t->state = f->state;
|
||||||
to->touch = NULL;
|
t->motionMask = f->motionMask;
|
||||||
|
/* to->touches and to->num_touches are separate on the master,
|
||||||
|
* don't copy */
|
||||||
}
|
}
|
||||||
|
/* Don't remove touch class if from->touch is non-existent. The to device
|
||||||
|
* may have an active touch grab, so we need to keep the touch class record
|
||||||
|
* around. */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1164,6 +1169,7 @@ TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
||||||
{
|
{
|
||||||
EmitTouchEnd(dev, ti, 0, 0);
|
EmitTouchEnd(dev, ti, 0, 0);
|
||||||
TouchEndTouch(dev, ti);
|
TouchEndTouch(dev, ti);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ti->listeners[0].state == LISTENER_EARLY_ACCEPT)
|
if (ti->listeners[0].state == LISTENER_EARLY_ACCEPT)
|
||||||
|
@ -2215,7 +2221,7 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail,
|
||||||
|
|
||||||
for (i = 0; mouse && mouse->button && i < mouse->button->numButtons; i++)
|
for (i = 0; mouse && mouse->button && i < mouse->button->numButtons; i++)
|
||||||
if (BitIsOn(mouse->button->down, i))
|
if (BitIsOn(mouse->button->down, i))
|
||||||
SetBit(&xi2event[1], i);
|
SetBit(&xi2event[1], mouse->button->map[i]);
|
||||||
|
|
||||||
if (dev->key)
|
if (dev->key)
|
||||||
{
|
{
|
||||||
|
|
|
@ -360,6 +360,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev)
|
||||||
if (i >= lastSlave->valuator->numAxes)
|
if (i >= lastSlave->valuator->numAxes)
|
||||||
{
|
{
|
||||||
pDev->last.valuators[i] = 0;
|
pDev->last.valuators[i] = 0;
|
||||||
|
valuator_mask_set_double(pDev->last.scroll, i, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -367,6 +368,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev)
|
||||||
val = rescaleValuatorAxis(val, lastSlave->valuator->axes + i,
|
val = rescaleValuatorAxis(val, lastSlave->valuator->axes + i,
|
||||||
pDev->valuator->axes + i, 0, 0);
|
pDev->valuator->axes + i, 0, 0);
|
||||||
pDev->last.valuators[i] = val;
|
pDev->last.valuators[i] = val;
|
||||||
|
valuator_mask_set_double(pDev->last.scroll, i, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue