From bad53bc20128ab7cdd9cc3b58b5690ee7cb113d0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 25 Nov 2017 08:23:25 -0500 Subject: [PATCH] x11: Stop deriving from GdkDeviceManager We can just derive from GObject. --- gdk/x11/gdkdevicemanager-core-x11.c | 8 ++----- gdk/x11/gdkdevicemanager-x11.c | 10 ++++----- gdk/x11/gdkdevicemanager-xi2.c | 34 ++++++++++++----------------- gdk/x11/gdkdisplay-x11.c | 1 - gdk/x11/gdkdisplay-x11.h | 3 ++- gdk/x11/gdkprivate-x11.h | 2 +- gdk/x11/gdkx11devicemanager.h | 5 +++-- 7 files changed, 27 insertions(+), 36 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-core-x11.c b/gdk/x11/gdkdevicemanager-core-x11.c index fa3f92d975..76914f1fdd 100644 --- a/gdk/x11/gdkdevicemanager-core-x11.c +++ b/gdk/x11/gdkdevicemanager-core-x11.c @@ -125,7 +125,6 @@ create_core_pointer (GdkX11DeviceManagerCore *device_manager, "input-mode", GDK_MODE_SCREEN, "has-cursor", TRUE, "display", display, - "device-manager", device_manager, NULL); } @@ -140,7 +139,6 @@ create_core_keyboard (GdkX11DeviceManagerCore *device_manager, "input-mode", GDK_MODE_SCREEN, "has-cursor", FALSE, "display", display, - "device-manager", device_manager, NULL); } @@ -338,12 +336,10 @@ static GdkWindow * get_event_window (GdkEventTranslator *translator, XEvent *xevent) { - GdkDeviceManager *device_manager; GdkDisplay *display; GdkWindow *window; - device_manager = GDK_DEVICE_MANAGER (translator); - display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display; + display = GDK_X11_DEVICE_MANAGER_CORE (translator)->display; window = gdk_x11_window_lookup_for_display (display, xevent->xany.window); /* Apply keyboard grabs to non-native windows */ @@ -354,7 +350,7 @@ get_event_window (GdkEventTranslator *translator, serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, - GDK_X11_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, + GDK_X11_DEVICE_MANAGER_CORE (translator)->core_keyboard, serial); if (info && (!is_parent_of (info->window, window) || diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index 89036759cd..ecc8ef8862 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -33,7 +33,7 @@ static gboolean _gdk_disable_multidevice = FALSE; -GdkDeviceManager * +GdkX11DeviceManagerCore * _gdk_x11_device_manager_new (GdkDisplay *display) { if (!g_getenv ("GDK_CORE_DEVICE_EVENTS")) @@ -66,7 +66,7 @@ _gdk_x11_device_manager_new (GdkDisplay *display) "minor", minor, NULL); - return GDK_DEVICE_MANAGER (device_manager_xi2); + return GDK_X11_DEVICE_MANAGER_CORE (device_manager_xi2); } } #endif /* XINPUT_2 */ @@ -92,12 +92,12 @@ _gdk_x11_device_manager_new (GdkDisplay *display) * Since: 3.2 **/ GdkDevice * -gdk_x11_device_manager_lookup (GdkDeviceManager *device_manager, - gint device_id) +gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager, + gint device_id) { GdkDevice *device = NULL; - g_return_val_if_fail (GDK_IS_DEVICE_MANAGER (device_manager), NULL); + g_return_val_if_fail (GDK_IS_X11_DEVICE_MANAGER_CORE (device_manager), NULL); #ifdef XINPUT_2 if (GDK_IS_X11_DEVICE_MANAGER_XI2 (device_manager)) diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 55733bcff2..a7ec3a9cea 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -74,7 +74,7 @@ static void gdk_x11_device_manager_xi2_get_property (GObject *object, GValue *value, GParamSpec *pspec); -static GdkDevice * gdk_x11_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager); +static GdkDevice * gdk_x11_device_manager_xi2_get_client_pointer (GdkX11DeviceManagerXI2 *device_manager); static gboolean gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator, GdkDisplay *display, @@ -140,9 +140,9 @@ gdk_x11_device_manager_xi2_init (GdkX11DeviceManagerXI2 *device_manager) } static void -_gdk_x11_device_manager_xi2_select_events (GdkDeviceManager *device_manager, - Window xwindow, - XIEventMask *event_mask) +_gdk_x11_device_manager_xi2_select_events (GdkX11DeviceManagerXI2 *device_manager, + Window xwindow, + XIEventMask *event_mask) { GdkDisplay *display; Display *xdisplay; @@ -402,9 +402,9 @@ is_touchpad_device (GdkDisplay *display, } static GdkDevice * -create_device (GdkDeviceManager *device_manager, - GdkDisplay *display, - XIDeviceInfo *dev) +create_device (GdkX11DeviceManagerXI2 *device_manager, + GdkDisplay *display, + XIDeviceInfo *dev) { GdkInputSource input_source; GdkInputSource touch_source; @@ -496,7 +496,6 @@ create_device (GdkDeviceManager *device_manager, "input-mode", mode, "has-cursor", (dev->use == XIMasterPointer), "display", display, - "device-manager", device_manager, "device-id", dev->deviceid, "vendor-id", vendor_id, "product-id", product_id, @@ -550,7 +549,7 @@ add_device (GdkX11DeviceManagerXI2 *device_manager, GdkDevice *device; display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display; - device = create_device (GDK_DEVICE_MANAGER (device_manager), display, dev); + device = create_device (device_manager, display, dev); g_hash_table_replace (device_manager->id_table, GINT_TO_POINTER (dev->deviceid), @@ -737,7 +736,7 @@ gdk_x11_device_manager_xi2_constructed (GObject *object) event_mask.mask_len = sizeof (mask); event_mask.mask = mask; - _gdk_x11_device_manager_xi2_select_events (GDK_DEVICE_MANAGER (object), + _gdk_x11_device_manager_xi2_select_events (device_manager, GDK_DISPLAY_XROOTWIN (display), &event_mask); } @@ -762,19 +761,17 @@ gdk_x11_device_manager_xi2_dispose (GObject *object) } static GdkDevice * -gdk_x11_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager) +gdk_x11_device_manager_xi2_get_client_pointer (GdkX11DeviceManagerXI2 *device_manager) { - GdkX11DeviceManagerXI2 *device_manager_xi2; GdkDisplay *display; int device_id; - device_manager_xi2 = (GdkX11DeviceManagerXI2 *) device_manager; display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display; XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display), None, &device_id); - return g_hash_table_lookup (device_manager_xi2->id_table, + return g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (device_id)); } @@ -1291,7 +1288,7 @@ gdk_x11_device_manager_xi2_translate_core_event (GdkEventTranslator *translator, * We need to override that with an XI2 device, since we are * using XI2. */ - device = gdk_x11_device_manager_xi2_get_client_pointer ((GdkDeviceManager *)translator); + device = gdk_x11_device_manager_xi2_get_client_pointer ((GdkX11DeviceManagerXI2 *)translator); if (keyboard) device = gdk_device_get_associated_device (device); gdk_event_set_device (event, device); @@ -1933,17 +1930,14 @@ gdk_x11_device_manager_xi2_select_window_events (GdkEventTranslator *translator, Window window, GdkEventMask evmask) { - GdkDeviceManager *device_manager; XIEventMask event_mask; - device_manager = GDK_DEVICE_MANAGER (translator); - event_mask.deviceid = XIAllMasterDevices; - event_mask.mask = _gdk_x11_device_xi2_translate_event_mask (GDK_X11_DEVICE_MANAGER_XI2 (device_manager), + event_mask.mask = _gdk_x11_device_xi2_translate_event_mask (GDK_X11_DEVICE_MANAGER_XI2 (translator), evmask, &event_mask.mask_len); - _gdk_x11_device_manager_xi2_select_events (device_manager, window, &event_mask); + _gdk_x11_device_manager_xi2_select_events (GDK_X11_DEVICE_MANAGER_XI2 (translator), window, &event_mask); g_free (event_mask.mask); } diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 351dffa6f6..a055056324 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -33,7 +33,6 @@ #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkkeysprivate.h" -#include "gdkdevicemanager.h" #include "xsettings-client.h" #include "gdkdisplay-x11.h" #include "gdkprivate-x11.h" diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 82b3c1ef2b..93434384da 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -27,6 +27,7 @@ #include "gdkwindow.h" #include "gdkinternals.h" #include "gdkx11screen.h" +#include "gdkx11devicemanager.h" #include #include @@ -41,7 +42,7 @@ struct _GdkX11Display GdkX11Screen *screen; GList *screens; GList *toplevels; - GdkDeviceManager *device_manager; + GdkX11DeviceManagerCore *device_manager; GSource *event_source; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index b594e8605d..f163e9bc6c 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -194,7 +194,7 @@ gchar * _gdk_x11_display_utf8_to_string_target (GdkDisplay *display void _gdk_x11_device_check_extension_events (GdkDevice *device); -GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); +GdkX11DeviceManagerCore *_gdk_x11_device_manager_new (GdkDisplay *display); #ifdef XINPUT_2 guchar * _gdk_x11_device_xi2_translate_event_mask (GdkX11DeviceManagerXI2 *device_manager_xi2, diff --git a/gdk/x11/gdkx11devicemanager.h b/gdk/x11/gdkx11devicemanager.h index 67ef483946..5b24e63837 100644 --- a/gdk/x11/gdkx11devicemanager.h +++ b/gdk/x11/gdkx11devicemanager.h @@ -23,6 +23,7 @@ #endif #include +#include #include #include @@ -30,8 +31,8 @@ G_BEGIN_DECLS GDK_AVAILABLE_IN_3_2 -GdkDevice * gdk_x11_device_manager_lookup (GdkDeviceManager *device_manager, - gint device_id); +GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager, + gint device_id); GDK_AVAILABLE_IN_ALL void gdk_disable_multidevice (void);