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
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
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,
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,
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
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(-)
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
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
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 +-
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
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
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
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
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
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.
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
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
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
18 matches
Mail list logo