[PATCH 1/2] dix: Pass EVENT_*_MASK flags to DoLeaveEnterEvents()

2013-11-25 Thread carlosg
From: Carlos Garnacho carl...@gnome.org This way the function can decide on whether sending Core and/or XI2 events through other means than the crossing mode. XI1 has no crossing events and is hence unhandled. One notable behavior change is that the XINotifyPassiveGrab/Ungrab modes are

[PATCH] Xi: update device state even if no emulated events are sent

2012-12-19 Thread carlosg
From: Carlos Garnacho carl...@gnome.org A touch sequence emulating pointer events may end up not sending pointer events (ie. if handled completely by a passive touch grab), but the device state needs to be updated anyway for subsequent events to have a correct state. This patch can be considered

[PATCH 1/2] mi: Ensure pointer emulating touch events update the sprite

2012-12-19 Thread carlosg
From: Carlos Garnacho carl...@gnome.org Different miPointerSpriteFuncRec implementations do a varying business at ultimately calling miPointerUpdateSprite(), this particularly fails when using the plain mi sprite on touch events, where the sprite is just moved/updated on cursor changes. So,

[PATCH 2/2] render: Unwrap early on the animated cursor BlockHandler

2012-12-19 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The loop above the previous call may end up triggering other handlers attaching to the same function slot, so unwrapping the handler after that could leave the just attached handler in a dangling but not unset state. This issue was most visible on the XO,

[PATCH xserver] dix: Set XITouchEmulatingPointer on events from the touch sequence emulating pointer events

2012-01-02 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The internal flag is kept around, merely translated to XITouchEmulatingPointer when creating the XI2 events that will be delivered to the client. Signed-off-by: Carlos Garnacho carl...@gnome.org --- dix/eventconvert.c |4 1 files changed, 4

[PATCH xserver 1/2] Xi: Fix passive XI2 ungrabs on XIAll[Master]Devices

2011-08-31 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The corresponding DeviceIntPtr wasn't being gotten properly, resulting in BadDevice from dixLookupDevice(). Signed-off-by: Carlos Garnacho carl...@gnome.org --- Xi/xipassivegrab.c | 13 ++--- 1 files changed, 10 insertions(+), 3 deletions(-)

[PATCH xserver 2/2] Xi: Fix passive key grabs on XIAll[Master]Devices

2011-08-31 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The KeyClass is not set for these DeviceIntRec, but it's only used for XI1 grabs in order to check the XKB keycode range, and XIAll[Master]Devices doesn't apply there. So only spare the NULL check for XI grabs. Signed-off-by: Carlos Garnacho

[PATCH inputproto multitouch] Cater for clients failing to accept/reject ownership

2011-08-31 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The multitouch protocol definition largely assumed well behaved clients, and had no way to deal with misbehaved ones that wouldn't claim nor deny ownership on the sequence. So, introduce the TouchExpired flag, to be used by the server when forcing touch

[PATCH xserver] Xi: make XIQueryPointer return the current modifiers/group as documented.

2011-02-07 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The previous XKB info was being returned instead of the current one, producing inconsistent results between the latest events and the modifiers/group returned by this call. Signed-off-by: Carlos Garnacho carl...@gnome.org --- Xi/xiquerypointer.c |2 +-

[PATCH libXi] Fill in mods/group-effective in XIQueryPointer()

2011-01-24 Thread carlosg
From: Carlos Garnacho carl...@gnome.org the other XIModifierState/XIGroupState fields are being set correctly, but the effective field was being left as undefined memory. --- src/XIQueryPointer.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/XIQueryPointer.c

[PATCH] XGE: Add xGESendEventReq to send events 32bytes

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org xSendEventReq is a fixed size request, so it can't send xGenericEvents, which may be larger than the usual 32bytes boundary. The extension version has been bumped to 1.1 since a new request has been added, and a new chapter has been added to the protocol

[PATCH 1/3] Add XESetEventCookieToWire()

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org This function allows extensions using XGE to register a function to transform a XGenericEvent into their wire protocol equivalent. This function is necessary as the normal handler is given an xEvent, so it can't handle events bigger than the xEvent struct

[PATCH 2/3] Make XSendEvent handle GenericEvents 32bytes

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org If the event is a GenericEvent, XSendEvent() will use xGESendEventReq to send it to the server, otherwise the old code path is still used. XGE-based extensions will need to implement a handler for XESetEventCookieToWire() in order to have XSendEvent work

[PATCH 3/3] Handle GenericEvents with the send event flag set

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org GenericEvents might potentially have the 0x80 flag now, so deliver these correctly. Signed-off-by: Carlos Garnacho carl...@gnome.org --- src/XlibInt.c |2 +- src/xcb_io.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git

[PATCH 1/2] xext: Implement the action for xGESendEventReq

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org The code is mostly in sync with ProcSendEvent() in dix/events.c, with the difference that this one takes care of XI2 events and devices. The function to handle swapped events is also implemented, making use of SGEGenericEvent() to swap the contained event.

[PATCH 2/2] dix: Let GenericEvents with the send event flag set go through.

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org ProcGESendEvent() puts GenericEvents with the 0x80 mask into the queue, these changes are necessary so such events aren't mishandled. Signed-off-by: Carlos Garnacho carl...@gnome.org --- dix/events.c |8 1 files changed, 4 insertions(+), 4

[PATCH] Add XESetEventCookieToWire() handler

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org This handler transforms XI2 events to the wire protocol, enabling XSendEvent() to work with these. All device and raw events that make sense to be sent from one client to another are translatable, other events should return BadValue. Signed-off-by: Carlos

[PATCH] Handle XGE events with the send event flag

2010-11-27 Thread carlosg
From: Carlos Garnacho carl...@gnome.org Now that GenericEvents may be sent with the 0x80 flag set, make xcb handle these correctly, reading the payload of GenericEvents even if the flag is set. Signed-off-by: Carlos Garnacho carl...@gnome.org --- src/xcb_in.c |2 +- 1 files changed, 1