Hi,
Compiling SDL on Fedora 19, relative mouse mode fails on Fedora 14.
The problem appears to be Line 76 in SDL_x11xinput2.c:
minor = 2;
I believe this should be moved down so it happens after
xinput2_initialized = 1;
but before the check for multitouch support. It seems xinput2 can be
safely initialized even if multitouch support is not available. Does
this sound okay?–
Terry Welsh www.reallyslick.com
I believe this should be moved down so it happens after
xinput2_initialized = 1;
but before the check for multitouch support. It seems xinput2 can be
safely initialized even if multitouch support is not available. Does
this sound okay?
I think we have to call XIQueryVersion() twice to decide what level of
support we can get from the X server. Can you try the attached patch and
see if it fixes the issue?
–ryan.
-------------- next part --------------
HG changeset patch
User Ryan C. Gordon <@icculus>
Date 1385000246 18000
Node ID 5d85b2186aae8895498e48fd5e13ff1fb576cb2d
Parent cff03048babd5eee3eb847cd9b81dd9ebced26ac
Query version for X11 XInput2 multitouch separately from base XInput2.
int outmajor,outminor;
-#if SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH
minor = 2;
-#endif
/*
Initialize XInput 2
According to Who-T: XI2 Recipes, Part 1 its better
@@ -86,24 +93,17 @@
*/
if (!SDL_X11_HAVE_XINPUT2 ||
!X11_XQueryExtension(data->display, “XInputExtension”, &xinput2_opcode, &event, &err)) {
return;
return; /* X server does not have XInput at all */
}
outmajor = major;
outminor = minor;
if (X11_XIQueryVersion(data->display, &outmajor, &outminor) != Success) {
return;
if (!xinput2_version_okay(data->display, 2, 0)) {
return; /* X server does not support the version we want */