Thanks for the quick response.

Peter Hutterer wrote:
> On Thu, May 28, 2009 at 02:54:22PM -0400, Thomas Jaeger wrote:
>> Thanks for the work you've put into this.  I haven't spent a lot of time
>>  testing the new code, but here are my first impressions.  You're
>> probably aware of most of the issues below already, but I'll mention
>> them just in case.
>>
>> * The biggest issue for me right now is reporting of XI1 (see the
>> attached test program).  XSelectExtensionEvents and
>> XGrabDevice/XGrabDeviceButton will only report press events; motion and
>> release events are lost.
> 
> Fixed. missing mask assignment in the case of an explicit passive grab.
Thanks, this is working now.  However, xournal is still won't accept any
input (unless patched) because it discards events due to device_state
not being set correctly.

> 
>> * A driver sending a proximity event crashes the server.
> 
> Fixed, thanks. GetProximityEvents still had the valuator event calculation
> in there and returned a wrong number of events. That, an an uninitialized
> pointer that was only triggerd for proximity events. Both fixes pushed.
Thanks, this is mostly working now.  There are still instances where
proximity events lead to a crash, see the attached gdb session.

>> * XIGrabButton always fails with a BadDevice error.
> 
> Fixed, thanks. The check was in there to prevent passive grabbing of
> attaches slave devices, which in hindsight might have its use-cases though
> dealing with the modifiers can be trick. Documented in inputproto.
It seems like XIGrabButton doesn't accept XIAnyModifier.  Also, the
example code in xinput uses an older incompatible interface (patch
attached).
If XIGrabButton is called on a SD, the SD is not detached when the grab
is activated.

>> * libXi doens't support parallel builds (make -j2) anymore.
> 
> works fine for me, not sure what's going on there.

Okay, fair enough, this is not really important anyway.

Thanks,
Tom
>From d5a7e8a3a0bb1d136abcf239cd01d6001bd7af48 Mon Sep 17 00:00:00 2001
From: Thomas Jaeger <thjae...@gmail.com>
Date: Fri, 29 May 2009 19:23:04 -0400
Subject: [PATCH] test-xi2: fix modifiers for XIGrabButton call

Signed-off-by: Thomas Jaeger <thjae...@gmail.com>
---
 src/test_xi2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/test_xi2.c b/src/test_xi2.c
index b03b762..ede8d91 100644
--- a/src/test_xi2.c
+++ b/src/test_xi2.c
@@ -293,7 +293,7 @@ test_xi2(Display	*display,
     XSync(display, False);
 
     {
-        int modifiers[] = {0, 0x10, 0x1, 0x11};
+        XIGrabModifiers modifiers[] = {{0, 0}, {0, 0x10}, {0, 0x1}, {0, 0x11}};
         int nmods = sizeof(modifiers)/sizeof(modifiers[0]);
 
         mask.deviceid = 2;
-- 
1.6.3.1

(gdb) bt
#0  0x080845d9 in DeliverGrabbedEvent (event=0xccfdf88, thisDev=0xcba2b40, 
deactivateGrab=0)
    at ../../dix/events.c:3851
#1  0x08134700 in ProcessOtherEvent (ev=0xccfdf88, device=0xcba2b40) at 
../../Xi/exevents.c:1109
#2  0x0814f29c in ProcessKeyboardEvent (ev=0xccfdf88, keybd=0xcba2b40)
    at ../../xkb/xkbPrKeyEv.c:181
#3  0x0809a15d in mieqProcessDeviceEvent (dev=0xcba2b40, event=0xccfdf88, 
screen=0xa065f98)
    at ../../mi/mieq.c:403
#4  0x0809a279 in mieqProcessInputEvents () at ../../mi/mieq.c:463
#5  0x080b7d87 in ProcessInputEvents () at 
../../../../hw/xfree86/common/xf86Events.c:172
#6  0x0807bfee in Dispatch () at ../../dix/dispatch.c:358
#7  0x080675cd in main (argc=10, argv=0xbfe512f4, envp=Cannot access memory at 
address 0x8
) at ../../dix/main.c:283
(gdb) print xi2
$10 = (xEvent *) 0x0
(gdb) print event->any.type == ET_ProximityOut
$11 = 1
(gdb) 
_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to