[gtk+/xi2] Fallback to XI1 if XI2 is not available in the server.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/xi2] Fallback to XI1 if XI2 is not available in the server.
- Date: Sat, 31 Oct 2009 20:53:05 +0000 (UTC)
commit db45548925d77015a818eccd11002593a7fbcd42
Author: Carlos Garnacho <carlos lanedo com>
Date: Sat Oct 31 21:47:21 2009 +0100
Fallback to XI1 if XI2 is not available in the server.
There could be cases where XInput2.h is found, but the XI2 extension is not
available on the running server, fallback to XI1 in that case.
gdk/x11/Makefile.am | 5 +--
gdk/x11/gdkdevicemanager-x11.c | 43 ++++++++++++++++++---------------------
2 files changed, 22 insertions(+), 26 deletions(-)
---
diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
index 0bfc0a5..9acc7db 100644
--- a/gdk/x11/Makefile.am
+++ b/gdk/x11/Makefile.am
@@ -64,11 +64,10 @@ libgdk_x11_la_SOURCES = \
xsettings-common.h \
xsettings-common.c
-if XINPUT_2
-libgdk_x11_la_SOURCES += gdkdevicemanager-xi2.c gdkdevice-xi2.c
-else
if XINPUT_XFREE
libgdk_x11_la_SOURCES += gdkdevicemanager-xi.c gdkdevice-xi.c
+if XINPUT_2
+libgdk_x11_la_SOURCES += gdkdevicemanager-xi2.c gdkdevice-xi2.c
endif
endif
diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c
index 02f4ca2..5d04842 100644
--- a/gdk/x11/gdkdevicemanager-x11.c
+++ b/gdk/x11/gdkdevicemanager-x11.c
@@ -21,31 +21,30 @@
#include "gdkx.h"
#include "gdkdevicemanager-core.h"
+#ifdef XINPUT_XFREE
+#include "gdkdevicemanager-xi.h"
#ifdef XINPUT_2
-# include "gdkdevicemanager-xi2.h"
-#else
-# ifdef XINPUT_XFREE
-# include "gdkdevicemanager-xi.h"
-# endif
+#include "gdkdevicemanager-xi2.h"
+#endif
#endif
GdkDeviceManager *
_gdk_device_manager_new (GdkDisplay *display)
{
- GdkDeviceManager *device_manager;
- int opcode, firstevent, firsterror;
- int major, minor;
- Display *xdisplay;
-
if (G_UNLIKELY (!g_getenv ("GDK_CORE_DEVICE_EVENTS")))
{
#if defined (XINPUT_2) || defined (XINPUT_XFREE)
+ int opcode, firstevent, firsterror;
+ Display *xdisplay;
+
xdisplay = GDK_DISPLAY_XDISPLAY (display);
if (XQueryExtension (xdisplay, "XInputExtension",
&opcode, &firstevent, &firsterror))
{
-#if defined (XINPUT_2)
+#ifdef XINPUT_2
+ int major, minor;
+
major = 2;
minor = 0;
@@ -53,21 +52,19 @@ _gdk_device_manager_new (GdkDisplay *display)
{
GdkDeviceManagerXI2 *device_manager_xi2;
- device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_XI2,
- "display", display,
- NULL);
-
- device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (device_manager);
+ device_manager_xi2 = g_object_new (GDK_TYPE_DEVICE_MANAGER_XI2,
+ "display", display,
+ NULL);
device_manager_xi2->opcode = opcode;
- return device_manager;
+ return GDK_DEVICE_MANAGER (device_manager_xi2);
}
-#else
- return g_object_new (GDK_TYPE_DEVICE_MANAGER_XI,
- "display", display,
- "event-base", firstevent,
- NULL);
-#endif
+ else
+#endif /* XINPUT_2 */
+ return g_object_new (GDK_TYPE_DEVICE_MANAGER_XI,
+ "display", display,
+ "event-base", firstevent,
+ NULL);
}
#endif /* XINPUT_2 || XINPUT_XFREE */
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]