Compare commits
4 Commits
master
...
submit/xi-
Author | SHA1 | Date | |
---|---|---|---|
|
9c124ae78a | ||
|
35fed10d19 | ||
|
675a30f550 | ||
|
f6f3411c06 |
|
@ -491,6 +491,7 @@ DeepCopyKeyboardClasses(DeviceIntPtr from, DeviceIntPtr to)
|
|||
if (!k->xkb_sli)
|
||||
continue;
|
||||
if (k->xkb_sli->flags & XkbSLI_IsDefault) {
|
||||
assert(to->key);
|
||||
k->xkb_sli->names = to->key->xkbInfo->desc->names->indicators;
|
||||
k->xkb_sli->maps = to->key->xkbInfo->desc->indicators->maps;
|
||||
}
|
||||
|
@ -1044,6 +1045,7 @@ TouchClientWantsOwnershipEvents(ClientPtr client, DeviceIntPtr dev,
|
|||
{
|
||||
InputClients *iclient;
|
||||
|
||||
assert(wOtherInputMasks(win));
|
||||
nt_list_for_each_entry(iclient, wOtherInputMasks(win)->inputClients, next) {
|
||||
if (rClient(iclient) != client)
|
||||
continue;
|
||||
|
@ -1389,6 +1391,8 @@ RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
|||
else
|
||||
evtype = GetXI2Type(ev->any.type);
|
||||
|
||||
assert(iclients);
|
||||
assert(wOtherInputMasks(*win));
|
||||
nt_list_for_each_entry(iclients,
|
||||
wOtherInputMasks(*win)->inputClients, next)
|
||||
if (xi2mask_isset(iclients->xi2mask, dev, evtype))
|
||||
|
@ -1403,6 +1407,7 @@ RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti,
|
|||
int xi_type = GetXIType(TouchGetPointerEventType(ev));
|
||||
Mask xi_filter = event_get_filter_from_type(dev, xi_type);
|
||||
|
||||
assert(wOtherInputMasks(*win));
|
||||
nt_list_for_each_entry(iclients,
|
||||
wOtherInputMasks(*win)->inputClients, next)
|
||||
if (iclients->mask[dev->id] & xi_filter)
|
||||
|
@ -2292,6 +2297,7 @@ RetrieveGestureDeliveryData(DeviceIntPtr dev, InternalEvent *ev, GestureListener
|
|||
listener->type == GESTURE_LISTENER_REGULAR */
|
||||
evtype = GetXI2Type(ev->any.type);
|
||||
|
||||
assert(wOtherInputMasks(*win));
|
||||
nt_list_for_each_entry(iclients, wOtherInputMasks(*win)->inputClients, next)
|
||||
if (xi2mask_isset(iclients->xi2mask, dev, evtype))
|
||||
break;
|
||||
|
@ -2681,6 +2687,7 @@ SelectForWindow(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client,
|
|||
return BadAccess;
|
||||
}
|
||||
}
|
||||
assert(wOtherInputMasks(pWin));
|
||||
for (others = wOtherInputMasks(pWin)->inputClients; others;
|
||||
others = others->next) {
|
||||
if (SameClient(others, client)) {
|
||||
|
@ -3242,8 +3249,11 @@ DeviceEventSuppressForWindow(WindowPtr pWin, ClientPtr client, Mask mask,
|
|||
inputMasks->dontPropagateMask[maskndx] = mask;
|
||||
}
|
||||
RecalculateDeviceDeliverableEvents(pWin);
|
||||
if (ShouldFreeInputMasks(pWin, FALSE))
|
||||
if (ShouldFreeInputMasks(pWin, FALSE)) {
|
||||
BUG_RETURN_VAL(!inputMasks, BadImplementation);
|
||||
BUG_RETURN_VAL(!inputMasks->inputClients, BadImplementation);
|
||||
FreeResource(inputMasks->inputClients->resource, X11_RESTYPE_NONE);
|
||||
}
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
@ -3337,6 +3347,7 @@ XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
|
|||
if (len && !others) {
|
||||
if (AddExtensionClient(win, client, 0, 0) != Success)
|
||||
return BadAlloc;
|
||||
assert(wOtherInputMasks(win));
|
||||
others = wOtherInputMasks(win)->inputClients;
|
||||
}
|
||||
|
||||
|
@ -3346,6 +3357,7 @@ XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
|
|||
}
|
||||
|
||||
if (len) {
|
||||
assert(others);
|
||||
xi2mask_set_one_mask(others->xi2mask, dev->id, mask, len);
|
||||
}
|
||||
|
||||
|
|
|
@ -124,8 +124,10 @@ static void FreePointerBarrierClient(struct PointerBarrierClient *c)
|
|||
{
|
||||
struct PointerBarrierDevice *pbd = NULL, *tmp = NULL;
|
||||
|
||||
xorg_list_for_each_entry_safe(pbd, tmp, &c->per_device, entry) {
|
||||
free(pbd);
|
||||
if (!xorg_list_is_empty(&c->per_device)) {
|
||||
xorg_list_for_each_entry_safe(pbd, tmp, &c->per_device, entry) {
|
||||
free(pbd);
|
||||
}
|
||||
}
|
||||
free(c);
|
||||
}
|
||||
|
@ -721,14 +723,14 @@ static void add_master_func(void *res, XID id, void *devid)
|
|||
{
|
||||
struct PointerBarrier *b;
|
||||
struct PointerBarrierClient *barrier;
|
||||
struct PointerBarrierDevice *pbd;
|
||||
int *deviceid = devid;
|
||||
|
||||
b = res;
|
||||
barrier = container_of(b, struct PointerBarrierClient, barrier);
|
||||
|
||||
|
||||
pbd = AllocBarrierDevice();
|
||||
struct PointerBarrierDevice *pbd = AllocBarrierDevice();
|
||||
if (!pbd)
|
||||
return;
|
||||
pbd->deviceid = *deviceid;
|
||||
|
||||
input_lock();
|
||||
|
|
Loading…
Reference in New Issue