[PATCH] Update synaptics to XInput 7 ABI
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
Gdk-ERROR **: The program 'gnome-settings-daemon' received an X Window
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()
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
#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>)
#3 0x00007f38b018ca39 in xkl_process_error () from
#4 0x00007f38b75b8d78 in _XError (dpy=0x78aeb0, rep=0x9cff30)
#5 0x00007f38b75c152a in _XReply (dpy=0x78aeb0, rep=0x7fff8e9217c0,
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
#7 0x00007f38afb4d3ee in set_left_handed (manager=<value optimized
left_handed=0) at gsd-mouse-manager.c:396
#8 0x00007f38afb4dd0c in set_mouse_settings (manager=0x7ead90)
#9 0x00007f38afb4e16b in gsd_mouse_manager_idle_cb (manager=0x7ead90)
#10 0x00007f38b8cef8fe in g_main_context_dispatch ()
#11 0x00007f38b8cf2fd8 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0x00007f38b8cf3435 in g_main_loop_run () from
#13 0x00007f38bb7a4027 in IA__gtk_main ()
#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,
More information about the xorg