[gtk/wip/carlosg/no-x11-core-events: 5/5] gdk/x11: Drop GdkDeviceManagerCore



commit c2d92794e200247ba81d235fbb961310fb618211
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed May 15 00:18:38 2019 +0200

    gdk/x11: Drop GdkDeviceManagerCore
    
    Keep only the XInput2 device manager, which handles "modern" stuff
    like scroll and touch.

 docs/reference/gdk/gdk4-sections.txt |  14 -
 gdk/x11/gdkdevice-core-x11.c         | 537 -----------------------
 gdk/x11/gdkdevicemanager-core-x11.c  | 827 -----------------------------------
 gdk/x11/gdkdevicemanager-x11.c       |  16 +-
 gdk/x11/gdkdevicemanager-xi2.c       | 279 +++++++-----
 gdk/x11/gdkdisplay-x11.h             |   2 +-
 gdk/x11/gdkprivate-x11.h             |   2 +-
 gdk/x11/gdkx-autocleanups.h          |   2 -
 gdk/x11/gdkx.h                       |   2 -
 gdk/x11/gdkx11device-core.h          |  41 --
 gdk/x11/gdkx11devicemanager-core.h   |  42 --
 gdk/x11/gdkx11devicemanager.h        |   6 +-
 gdk/x11/meson.build                  |   4 -
 testsuite/gtk/objects-finalize.c     |   1 -
 14 files changed, 177 insertions(+), 1598 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 902b724ba3..32a212e44e 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -880,18 +880,6 @@ GDK_X11_APP_LAUNCH_CONTEXT_CLASS
 GDK_IS_X11_APP_LAUNCH_CONTEXT
 GDK_IS_X11_APP_LAUNCH_CONTEXT_CLASS
 GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS
-GDK_TYPE_X11_DEVICE_CORE
-GDK_X11_DEVICE_CORE
-GDK_X11_DEVICE_CORE_CLASS
-GDK_IS_X11_DEVICE_CORE
-GDK_IS_X11_DEVICE_CORE_CLASS
-GDK_X11_DEVICE_CORE_GET_CLASS
-GDK_TYPE_X11_DEVICE_MANAGER_CORE
-GDK_X11_DEVICE_MANAGER_CORE
-GDK_X11_DEVICE_MANAGER_CORE_CLASS
-GDK_IS_X11_DEVICE_MANAGER_CORE
-GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS
-GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS
 GDK_TYPE_X11_DEVICE_MANAGER_XI2
 GDK_X11_DEVICE_MANAGER_XI2
 GDK_X11_DEVICE_MANAGER_XI2_CLASS
@@ -961,8 +949,6 @@ GDK_X11_SURFACE_GET_CLASS
 <SUBSECTION Private>
 gdk_x11_app_launch_context_get_type
 gdk_x11_cursor_get_type
-gdk_x11_device_core_get_type
-gdk_x11_device_manager_core_get_type
 gdk_x11_device_manager_xi2_get_type
 gdk_x11_device_manager_xi_get_type
 gdk_x11_device_xi2_get_type
diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c
index dd62f27d08..1478b9242a 100644
--- a/gdk/x11/gdkdevicemanager-x11.c
+++ b/gdk/x11/gdkdevicemanager-x11.c
@@ -17,8 +17,6 @@
 
 #include "config.h"
 
-#include "gdkx11devicemanager-core.h"
-#include "gdkdevicemanagerprivate-core.h"
 #include "gdkx11devicemanager-xi2.h"
 #include "gdkinternals.h"
 #include "gdkprivate-x11.h"
@@ -30,7 +28,7 @@
 #define VIRTUAL_CORE_POINTER_ID 2
 #define VIRTUAL_CORE_KEYBOARD_ID 3
 
-GdkX11DeviceManagerCore *
+GdkX11DeviceManagerXI2 *
 _gdk_x11_device_manager_new (GdkDisplay *display)
 {
   int opcode, firstevent, firsterror;
@@ -59,7 +57,7 @@ _gdk_x11_device_manager_new (GdkDisplay *display)
                                              "minor", minor,
                                              NULL);
 
-          return GDK_X11_DEVICE_MANAGER_CORE (device_manager_xi2);
+          return device_manager_xi2;
         }
     }
 
@@ -68,17 +66,17 @@ _gdk_x11_device_manager_new (GdkDisplay *display)
 
 /**
  * gdk_x11_device_manager_lookup:
- * @device_manager: (type GdkX11DeviceManagerCore): a #GdkDeviceManager
+ * @device_manager: (type GdkX11DeviceManagerXI2): a #GdkDeviceManager
  * @device_id: a device ID, as understood by the XInput2 protocol
  *
  * Returns the #GdkDevice that wraps the given device ID.
  *
- * Returns: (transfer none) (allow-none) (type GdkX11DeviceCore): The #GdkDevice wrapping the device ID,
+ * Returns: (transfer none) (allow-none) (type GdkX11DeviceXI2): The #GdkDevice wrapping the device ID,
  *          or %NULL if the given ID doesn’t currently represent a device.
  **/
 GdkDevice *
-gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
-                              gint                     device_id)
+gdk_x11_device_manager_lookup (GdkX11DeviceManagerXI2 *device_manager,
+                              gint                    device_id)
 {
   g_return_val_if_fail (GDK_IS_X11_DEVICE_MANAGER_XI2 (device_manager), NULL);
 
@@ -88,7 +86,7 @@ gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
 
 /**
  * gdk_x11_device_get_id:
- * @device: (type GdkX11DeviceCore): a #GdkDevice
+ * @device: (type GdkX11DeviceXI2): a #GdkDevice
  *
  * Returns the device ID as seen by XInput2.
  *
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index 01d51d3d3a..3cc4af03ea 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -20,8 +20,6 @@
 #include "gdkx11devicemanager-xi2.h"
 #include "gdkx11device-xi2.h"
 
-#include "gdkx11devicemanager-core.h"
-#include "gdkdevicemanagerprivate-core.h"
 #include "gdkdeviceprivate.h"
 #include "gdkdevicetoolprivate.h"
 #include "gdkdisplayprivate.h"
@@ -40,6 +38,29 @@
 
 #include <string.h>
 
+#ifdef G_ENABLE_DEBUG
+static const char notify_modes[][19] = {
+  "NotifyNormal",
+  "NotifyGrab",
+  "NotifyUngrab",
+  "NotifyWhileGrabbed"
+};
+
+static const char notify_details[][23] = {
+  "NotifyAncestor",
+  "NotifyVirtual",
+  "NotifyInferior",
+  "NotifyNonlinear",
+  "NotifyNonlinearVirtual",
+  "NotifyPointer",
+  "NotifyPointerRoot",
+  "NotifyDetailNone"
+};
+#endif
+
+#define HAS_FOCUS(toplevel)                           \
+  ((toplevel)->has_focus || (toplevel)->has_pointer_focus)
+
 static const char *wacom_type_atoms[] = {
   "STYLUS",
   "CURSOR",
@@ -59,8 +80,9 @@ enum {
 
 struct _GdkX11DeviceManagerXI2
 {
-  GdkX11DeviceManagerCore parent_object;
+  GObject parent_object;
 
+  GdkDisplay *display;
   GHashTable *id_table;
 
   GList *devices;
@@ -72,12 +94,12 @@ struct _GdkX11DeviceManagerXI2
 
 struct _GdkX11DeviceManagerXI2Class
 {
-  GdkX11DeviceManagerCoreClass parent_class;
+  GObjectClass parent_class;
 };
 
 static void     gdk_x11_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface);
 
-G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerXI2, gdk_x11_device_manager_xi2, 
GDK_TYPE_X11_DEVICE_MANAGER_CORE,
+G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerXI2, gdk_x11_device_manager_xi2, G_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR,
                                                 gdk_x11_device_manager_xi2_event_translator_init))
 
@@ -92,8 +114,6 @@ 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 (GdkX11DeviceManagerXI2 *device_manager);
-
 static gboolean gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                                             GdkDisplay         *display,
                                                             GdkEvent           *event,
@@ -107,6 +127,7 @@ static GdkSurface *  gdk_x11_device_manager_xi2_get_surface         (GdkEventTra
 
 enum {
   PROP_0,
+  PROP_DISPLAY,
   PROP_OPCODE,
   PROP_MAJOR,
   PROP_MINOR
@@ -122,6 +143,14 @@ gdk_x11_device_manager_xi2_class_init (GdkX11DeviceManagerXI2Class *klass)
   object_class->set_property = gdk_x11_device_manager_xi2_set_property;
   object_class->get_property = gdk_x11_device_manager_xi2_get_property;
 
+  g_object_class_install_property (object_class,
+                                   PROP_DISPLAY,
+                                   g_param_spec_object ("display",
+                                                        "Display",
+                                                        "Display for the device manager",
+                                                        GDK_TYPE_DISPLAY,
+                                                        G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                                        G_PARAM_STATIC_STRINGS));
   g_object_class_install_property (object_class,
                                    PROP_OPCODE,
                                    g_param_spec_int ("opcode",
@@ -165,7 +194,7 @@ _gdk_x11_device_manager_xi2_select_events (GdkX11DeviceManagerXI2 *device_manage
   GdkDisplay *display;
   Display *xdisplay;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   xdisplay = GDK_DISPLAY_XDISPLAY (display);
 
   XISelectEvents (xdisplay, xwindow, event_mask, 1);
@@ -553,7 +582,7 @@ ensure_seat_for_device_pair (GdkX11DeviceManagerXI2 *device_manager,
   GdkDisplay *display;
   GdkSeat *seat;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   seat = gdk_device_get_seat (device1);
 
   if (!seat)
@@ -583,7 +612,7 @@ add_device (GdkX11DeviceManagerXI2 *device_manager,
   GdkDisplay *display;
   GdkDevice *device;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   device = create_device (device_manager, display, dev);
 
   g_hash_table_replace (device_manager->id_table,
@@ -717,7 +746,7 @@ gdk_x11_device_manager_xi2_constructed (GObject *object)
   G_OBJECT_CLASS (gdk_x11_device_manager_xi2_parent_class)->constructed (object);
 
   device_manager = GDK_X11_DEVICE_MANAGER_XI2 (object);
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   xdisplay = GDK_DISPLAY_XDISPLAY (display);
 
   g_assert (device_manager->major == 2);
@@ -795,21 +824,6 @@ gdk_x11_device_manager_xi2_dispose (GObject *object)
   G_OBJECT_CLASS (gdk_x11_device_manager_xi2_parent_class)->dispose (object);
 }
 
-static GdkDevice *
-gdk_x11_device_manager_xi2_get_client_pointer (GdkX11DeviceManagerXI2 *device_manager)
-{
-  GdkDisplay *display;
-  int device_id;
-
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
-
-  XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display),
-                      None, &device_id);
-
-  return g_hash_table_lookup (device_manager->id_table,
-                              GINT_TO_POINTER (device_id));
-}
-
 static void
 gdk_x11_device_manager_xi2_set_property (GObject      *object,
                                          guint         prop_id,
@@ -822,6 +836,9 @@ gdk_x11_device_manager_xi2_set_property (GObject      *object,
 
   switch (prop_id)
     {
+    case PROP_DISPLAY:
+      device_manager->display = g_value_get_object (value);
+      break;
     case PROP_OPCODE:
       device_manager->opcode = g_value_get_int (value);
       break;
@@ -849,6 +866,9 @@ gdk_x11_device_manager_xi2_get_property (GObject    *object,
 
   switch (prop_id)
     {
+    case PROP_DISPLAY:
+      g_value_set_object (value, device_manager->display);
+      break;
     case PROP_OPCODE:
       g_value_set_int (value, device_manager->opcode);
       break;
@@ -883,7 +903,7 @@ handle_hierarchy_changed (GdkX11DeviceManagerXI2 *device_manager,
   int ndevices;
   gint i;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   xdisplay = GDK_DISPLAY_XDISPLAY (display);
 
   for (i = 0; i < ev->num_info; i++)
@@ -958,7 +978,7 @@ handle_device_changed (GdkX11DeviceManagerXI2 *device_manager,
   GdkDisplay *display;
   GdkDevice *device, *source_device;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (device_manager)->display;
+  display = device_manager->display;
   device = g_hash_table_lookup (device_manager->id_table,
                                 GUINT_TO_POINTER (ev->deviceid));
   source_device = g_hash_table_lookup (device_manager->id_table,
@@ -1256,7 +1276,7 @@ get_event_surface (GdkEventTranslator *translator,
   GdkSurface *surface = NULL;
   gboolean should_have_window = TRUE;
 
-  display = GDK_X11_DEVICE_MANAGER_CORE (translator)->display;
+  display = GDK_X11_DEVICE_MANAGER_XI2 (translator)->display;
 
   switch (ev->evtype)
     {
@@ -1321,81 +1341,6 @@ get_event_surface (GdkEventTranslator *translator,
   return TRUE;
 }
 
-static gboolean
-gdk_x11_device_manager_xi2_translate_core_event (GdkEventTranslator *translator,
-                                                GdkDisplay         *display,
-                                                GdkEvent           *event,
-                                                const XEvent       *xevent)
-{
-  GdkEventTranslatorIface *parent_iface;
-  gboolean keyboard = FALSE;
-  GdkDevice *device;
-
-  if ((xevent->type == KeyPress || xevent->type == KeyRelease) &&
-      (xevent->xkey.keycode == 0 || xevent->xkey.serial == 0))
-    {
-      /* The X input methods (when triggered via XFilterEvent)
-       * generate a core key press event with keycode 0 to signal the
-       * end of a key sequence. We use the core translate_event
-       * implementation to translate this event.
-       *
-       * Other less educated IM modules like to filter every keypress,
-       * only to have these replaced by their own homegrown events,
-       * these events oddly have serial=0, so we try to catch these.
-       *
-       * This is just a bandaid fix to keep xim working with a single
-       * keyboard until XFilterEvent learns about XI2.
-       */
-      keyboard = TRUE;
-    }
-  else if (xevent->xany.send_event)
-    {
-      /* If another process sends us core events, process them; we
-       * assume that it won't send us redundant core and XI2 events.
-       * (At the moment, it's not possible to send XI2 events anyway.
-       * In the future, an app that was trying to decide whether to
-       * send core or XI2 events could look at the event mask on the
-       * surface to see which kind we are listening to.)
-       */
-      switch (xevent->type)
-       {
-       case KeyPress:
-       case KeyRelease:
-       case FocusIn:
-       case FocusOut:
-         keyboard = TRUE;
-         break;
-
-       case ButtonPress:
-       case ButtonRelease:
-       case MotionNotify:
-       case EnterNotify:
-       case LeaveNotify:
-         break;
-
-       default:
-         return FALSE;
-       }
-    }
-  else
-    return FALSE;
-
-  parent_iface = g_type_interface_peek_parent (GDK_EVENT_TRANSLATOR_GET_IFACE (translator));
-  if (!parent_iface->translate_event (translator, display, event, xevent))
-    return FALSE;
-
-  /* The core device manager sets a core device on the event.
-   * We need to override that with an XI2 device, since we are
-   * using XI2.
-   */
-  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);
-
-  return TRUE;
-}
-
 static gboolean
 scroll_valuators_changed (GdkX11DeviceXI2 *device,
                           XIValuatorState *valuators,
@@ -1437,6 +1382,113 @@ scroll_valuators_changed (GdkX11DeviceXI2 *device,
   return has_scroll_valuators;
 }
 
+/* We only care about focus events that indicate that _this_
+ * surface (not a ancestor or child) got or lost the focus
+ */
+static void
+_gdk_device_manager_xi2_handle_focus (GdkSurface *surface,
+                                      Window      original,
+                                      GdkDevice  *device,
+                                      GdkDevice  *source_device,
+                                      gboolean    focus_in,
+                                      int         detail,
+                                      int         mode)
+{
+  GdkToplevelX11 *toplevel;
+  GdkX11Screen *x11_screen;
+  gboolean had_focus;
+
+  g_return_if_fail (GDK_IS_SURFACE (surface));
+  g_return_if_fail (GDK_IS_DEVICE (device));
+  g_return_if_fail (source_device == NULL || GDK_IS_DEVICE (source_device));
+
+  GDK_DISPLAY_NOTE (gdk_surface_get_display (surface), EVENTS,
+            g_message ("focus out:\t\twindow: %ld, detail: %s, mode: %s",
+                       GDK_SURFACE_XID (surface),
+                       notify_details[detail],
+                       notify_modes[mode]));
+
+  toplevel = _gdk_x11_surface_get_toplevel (surface);
+
+  if (!toplevel)
+    return;
+
+  if (toplevel->focus_window == original)
+    return;
+
+  had_focus = HAS_FOCUS (toplevel);
+  x11_screen = GDK_X11_SCREEN (GDK_SURFACE_SCREEN (surface));
+
+  switch (detail)
+    {
+    case NotifyAncestor:
+    case NotifyVirtual:
+      /* When the focus moves from an ancestor of the window to
+       * the window or a descendent of the window, *and* the
+       * pointer is inside the window, then we were previously
+       * receiving keystroke events in the has_pointer_focus
+       * case and are now receiving them in the
+       * has_focus_window case.
+       */
+      if (toplevel->has_pointer &&
+          !x11_screen->wmspec_check_window &&
+          mode != NotifyGrab &&
+          mode != XINotifyPassiveGrab &&
+          mode != XINotifyPassiveUngrab &&
+          mode != NotifyUngrab)
+        toplevel->has_pointer_focus = (focus_in) ? FALSE : TRUE;
+      G_GNUC_FALLTHROUGH;
+
+    case NotifyNonlinear:
+    case NotifyNonlinearVirtual:
+      if (mode != NotifyGrab &&
+          mode != XINotifyPassiveGrab &&
+          mode != XINotifyPassiveUngrab &&
+          mode != NotifyUngrab)
+        toplevel->has_focus_window = (focus_in) ? TRUE : FALSE;
+      /* We pretend that the focus moves to the grab
+       * window, so we pay attention to NotifyGrab
+       * NotifyUngrab, and ignore NotifyWhileGrabbed
+       */
+      if (mode != NotifyWhileGrabbed)
+        toplevel->has_focus = (focus_in) ? TRUE : FALSE;
+      break;
+    case NotifyPointer:
+      /* The X server sends NotifyPointer/NotifyGrab,
+       * but the pointer focus is ignored while a
+       * grab is in effect
+       */
+      if (!x11_screen->wmspec_check_window &&
+          mode != NotifyGrab &&
+          mode != XINotifyPassiveGrab &&
+          mode != XINotifyPassiveUngrab &&
+          mode != NotifyUngrab)
+        toplevel->has_pointer_focus = (focus_in) ? TRUE : FALSE;
+      break;
+    case NotifyInferior:
+    case NotifyPointerRoot:
+    case NotifyDetailNone:
+    default:
+      break;
+    }
+
+  if (HAS_FOCUS (toplevel) != had_focus)
+    {
+      GdkEvent *event;
+
+      event = gdk_event_new (GDK_FOCUS_CHANGE);
+      event->any.surface = g_object_ref (surface);
+      event->any.send_event = FALSE;
+      event->focus_change.in = focus_in;
+      gdk_event_set_device (event, device);
+      if (source_device)
+        gdk_event_set_source_device (event, source_device);
+
+      gdk_display_put_event (gdk_surface_get_display (surface), event);
+      g_object_unref (event);
+    }
+}
+
 static gboolean
 gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                             GdkDisplay         *display,
@@ -1455,9 +1507,8 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
   device_manager = (GdkX11DeviceManagerXI2 *) translator;
   cookie = &xevent->xcookie;
 
-  if (xevent->type != GenericEvent)
-    return gdk_x11_device_manager_xi2_translate_core_event (translator, display, event, xevent);
-  else if (cookie->extension != device_manager->opcode)
+  if (xevent->type != GenericEvent ||
+      cookie->extension != device_manager->opcode)
     return FALSE;
 
   ev = (XIEvent *) cookie->data;
@@ -1948,13 +1999,13 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
             source_device = g_hash_table_lookup (device_manager->id_table,
                                                  GUINT_TO_POINTER (xev->sourceid));
 
-            _gdk_device_manager_core_handle_focus (surface,
-                                                   xev->event,
-                                                   device,
-                                                   source_device,
-                                                   (ev->evtype == XI_FocusIn) ? TRUE : FALSE,
-                                                   xev->detail,
-                                                   xev->mode);
+            _gdk_device_manager_xi2_handle_focus (surface,
+                                                  xev->event,
+                                                  device,
+                                                  source_device,
+                                                  (ev->evtype == XI_FocusIn) ? TRUE : FALSE,
+                                                  xev->detail,
+                                                  xev->mode);
           }
 
         return_val = FALSE;
diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h
index 4859c01422..c326b6a23e 100644
--- a/gdk/x11/gdkdisplay-x11.h
+++ b/gdk/x11/gdkdisplay-x11.h
@@ -44,7 +44,7 @@ struct _GdkX11Display
   GdkX11Screen *screen;
   GList *screens;
   GList *toplevels;
-  GdkX11DeviceManagerCore *device_manager;
+  GdkX11DeviceManagerXI2 *device_manager;
 
   GSource *event_source;
 
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index 2700dcbe56..658a2d9b5a 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -130,7 +130,7 @@ gchar *     _gdk_x11_display_utf8_to_string_target      (GdkDisplay     *display
 
 void _gdk_x11_device_check_extension_events   (GdkDevice  *device);
 
-GdkX11DeviceManagerCore *_gdk_x11_device_manager_new (GdkDisplay *display);
+GdkX11DeviceManagerXI2 *_gdk_x11_device_manager_new (GdkDisplay *display);
 
 guchar * _gdk_x11_device_xi2_translate_event_mask (GdkX11DeviceManagerXI2 *device_manager_xi2,
                                                    GdkEventMask            event_mask,
diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
index a6e6e1c024..e615a14efd 100644
--- a/gdk/x11/gdkx-autocleanups.h
+++ b/gdk/x11/gdkx-autocleanups.h
@@ -22,8 +22,6 @@
 #ifndef __GI_SCANNER__
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11AppLaunchContext, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceCore, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerCore, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerXI2, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
index 9fa9cb0711..2705305964 100644
--- a/gdk/x11/gdkx.h
+++ b/gdk/x11/gdkx.h
@@ -34,10 +34,8 @@
 
 #include <gdk/x11/gdkx11applaunchcontext.h>
 #include <gdk/x11/gdkx11device.h>
-#include <gdk/x11/gdkx11device-core.h>
 #include <gdk/x11/gdkx11device-xi2.h>
 #include <gdk/x11/gdkx11devicemanager.h>
-#include <gdk/x11/gdkx11devicemanager-core.h>
 #include <gdk/x11/gdkx11devicemanager-xi2.h>
 #include <gdk/x11/gdkx11display.h>
 #include <gdk/x11/gdkx11dnd.h>
diff --git a/gdk/x11/gdkx11devicemanager.h b/gdk/x11/gdkx11devicemanager.h
index b0cd50b423..e99806c6b2 100644
--- a/gdk/x11/gdkx11devicemanager.h
+++ b/gdk/x11/gdkx11devicemanager.h
@@ -23,7 +23,7 @@
 #endif
 
 #include <gdk/gdk.h>
-#include <gdk/x11/gdkx11devicemanager-core.h>
+#include <gdk/x11/gdkx11devicemanager-xi2.h>
 
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
@@ -31,8 +31,8 @@
 G_BEGIN_DECLS
 
 GDK_AVAILABLE_IN_ALL
-GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerCore *device_manager,
-                                           gint                     device_id);
+GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerXI2 *device_manager,
+                                           gint                    device_id);
 
 G_END_DECLS
 
diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
index 06d6d8b497..fce1a92079 100644
--- a/gdk/x11/meson.build
+++ b/gdk/x11/meson.build
@@ -5,9 +5,7 @@ gdk_x11_sources = files([
   'gdkcairocontext-x11.c',
   'gdkclipboard-x11.c',
   'gdkcursor-x11.c',
-  'gdkdevice-core-x11.c',
   'gdkdevice-xi2.c',
-  'gdkdevicemanager-core-x11.c',
   'gdkdevicemanager-x11.c',
   'gdkdevicemanager-xi2.c',
   'gdkdisplay-x11.c',
@@ -36,10 +34,8 @@ gdk_x11_sources = files([
 gdk_x11_public_headers = files([
   'gdkx-autocleanups.h',
   'gdkx11applaunchcontext.h',
-  'gdkx11device-core.h',
   'gdkx11device-xi2.h',
   'gdkx11device.h',
-  'gdkx11devicemanager-core.h',
   'gdkx11devicemanager-xi2.h',
   'gdkx11devicemanager.h',
   'gdkx11display.h',
diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
index b43ab812ee..bb7e51371d 100644
--- a/testsuite/gtk/objects-finalize.c
+++ b/testsuite/gtk/objects-finalize.c
@@ -132,7 +132,6 @@ main (int argc, char **argv)
          all_types[i] != GDK_TYPE_X11_SURFACE &&
          all_types[i] != GDK_TYPE_X11_SCREEN &&
          all_types[i] != GDK_TYPE_X11_DISPLAY &&
-         all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
          all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
          all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
 #endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]