x11: Don't try to use XInput2 multitouch if not supported.
Fixes #5889.
diff --git a/src/video/x11/SDL_x11touch.c b/src/video/x11/SDL_x11touch.c
index 958bee9..c608cf2 100644
--- a/src/video/x11/SDL_x11touch.c
+++ b/src/video/x11/SDL_x11touch.c
@@ -31,9 +31,7 @@
void
X11_InitTouch(_THIS)
{
- if (X11_Xinput2IsMultitouchSupported()) {
- X11_InitXinput2Multitouch(_this);
- }
+ X11_InitXinput2Multitouch(_this);
}
void
diff --git a/src/video/x11/SDL_x11xinput2.c b/src/video/x11/SDL_x11xinput2.c
index abfbdf0..21d8bd6 100644
--- a/src/video/x11/SDL_x11xinput2.c
+++ b/src/video/x11/SDL_x11xinput2.c
@@ -265,6 +265,11 @@
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
XIDeviceInfo *info;
int ndevices,i,j;
+
+ if (!X11_Xinput2IsMultitouchSupported()) {
+ return;
+ }
+
info = X11_XIQueryDevice(data->display, XIAllDevices, &ndevices);
for (i = 0; i < ndevices; i++) {
@@ -354,6 +359,10 @@
XIGrabModifiers mods;
XIEventMask eventmask;
+ if (!X11_Xinput2IsMultitouchSupported()) {
+ return;
+ }
+
mods.modifiers = XIAnyModifier;
mods.status = 0;
@@ -379,6 +388,10 @@
XIGrabModifiers mods;
+ if (!X11_Xinput2IsMultitouchSupported()) {
+ return;
+ }
+
mods.modifiers = XIAnyModifier;
mods.status = 0;