[PATCH] Update synaptics to XInput 7 ABI
Ben Gamari
bgamari.foss at gmail.com
Sun Jun 21 22:56:07 PDT 2009
On Fri, Jun 19, 2009 at 04:34:33PM +1000, Peter Hutterer wrote:
> On Fri, Jun 19, 2009 at 02:01:30AM -0400, Ben Gamari wrote:
> > > How about this one (obviously on top of fd939)?
> >
> > Looks good (once someone figures out the button label situation).
>
> So getting the labels right is mostly candy now anyway, and getting them
> for the ones after 7 is something we can worry about in the future, but
> don't have to worry about right now.
>
Oops, it seems I messed up. When I tested your patches it turned out
that I wasn't actually testing your patches. It seems that providing a
label of 0 causes gnome-settings-daemon to crash with the following
backtrace,
Gdk-ERROR **: The program 'gnome-settings-daemon' received an X Window
System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 3736 error_code 2 request_code 116 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error()
function.)
aborting...
Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7f38bbe86780 (LWP 22490)]
0x00007f38b8cf93f0 in g_logv () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x00007f38b8cf93f0 in g_logv () from /usr/lib/libglib-2.0.so.0
#1 0x00007f38b8cf97b3 in g_log () from /usr/lib/libglib-2.0.so.0
#2 0x00007f38bb403406 in gdk_x_error (display=<value optimized out>,
error=<value optimized out>)
at /build/buildd/gtk+2.0-2.17.2/gdk/x11/gdkmain-x11.c:641
#3 0x00007f38b018ca39 in xkl_process_error () from
/usr/lib/libxklavier.so.12
#4 0x00007f38b75b8d78 in _XError (dpy=0x78aeb0, rep=0x9cff30)
at XlibInt.c:2924
#5 0x00007f38b75c152a in _XReply (dpy=0x78aeb0, rep=0x7fff8e9217c0,
extra=0,
discard=0) at xcb_io.c:506
#6 0x00007f38b75b03da in XSetPointerMapping (dpy=0x78aeb0,
map=0x9cf810 "\001\002\003\004\005\006\a", nmaps=8) at
SetPntMap.c:51
#7 0x00007f38afb4d3ee in set_left_handed (manager=<value optimized
out>,
left_handed=0) at gsd-mouse-manager.c:396
#8 0x00007f38afb4dd0c in set_mouse_settings (manager=0x7ead90)
at gsd-mouse-manager.c:793
#9 0x00007f38afb4e16b in gsd_mouse_manager_idle_cb (manager=0x7ead90)
at gsd-mouse-manager.c:893
#10 0x00007f38b8cef8fe in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
#11 0x00007f38b8cf2fd8 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007f38b8cf3435 in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
#13 0x00007f38bb7a4027 in IA__gtk_main ()
at /build/buildd/gtk+2.0-2.17.2/gtk/gtkmain.c:1205
#14 0x0000000000404675 in main ()
Changing the third argument of the InitPointerDeviceStruct() call in
synaptics' DeviceInit() from SYN_MAX_BUTTONS to 7 avoids the crash.
Changing it then to 8 (as was done in the case of the above backtrace)
triggers the crash. Not really sure what to make of this. Let me know
what you think. Thanks,
- Ben
More information about the xorg
mailing list