[gtk+] gdk: Remove ability to request selection notifications



commit 65fcff87b2df4d217814bf6519e2ebe433baf1aa
Author: Benjamin Otte <otte redhat com>
Date:   Thu Dec 14 04:20:48 2017 +0100

    gdk: Remove ability to request selection notifications
    
    Without selections, that's kinda pointless.

 docs/reference/gdk/gdk4-sections.txt |    2 -
 gdk/broadway/gdkdisplay-broadway.c   |   16 -----------
 gdk/gdkdisplay.c                     |   44 -----------------------------
 gdk/gdkdisplay.h                     |    6 ----
 gdk/gdkdisplayprivate.h              |    3 --
 gdk/mir/gdkmirdisplay.c              |   15 ----------
 gdk/quartz/gdkdisplay-quartz.c       |   20 -------------
 gdk/wayland/gdkdisplay-wayland.c     |   17 -----------
 gdk/win32/gdkdisplay-win32.c         |   50 ----------------------------------
 gdk/x11/gdkclipboard-x11.c           |    2 +-
 gdk/x11/gdkdisplay-x11.c             |   21 +++-----------
 gdk/x11/gdkdisplay-x11.h             |   16 ++++++-----
 12 files changed, 15 insertions(+), 197 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 5997eeb..04b333b 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -88,8 +88,6 @@ gdk_display_supports_cursor_alpha
 gdk_display_get_default_cursor_size
 gdk_display_get_maximal_cursor_size
 gdk_display_get_default_group
-gdk_display_supports_selection_notification
-gdk_display_request_selection_notification
 gdk_display_supports_clipboard_persistence
 gdk_display_store_clipboard
 gdk_display_supports_shapes
diff --git a/gdk/broadway/gdkdisplay-broadway.c b/gdk/broadway/gdkdisplay-broadway.c
index 43330d6..e8f47da 100644
--- a/gdk/broadway/gdkdisplay-broadway.c
+++ b/gdk/broadway/gdkdisplay-broadway.c
@@ -359,20 +359,6 @@ gdk_broadway_display_notify_startup_complete (GdkDisplay  *display,
 }
 
 static gboolean
-gdk_broadway_display_supports_selection_notification (GdkDisplay *display)
-{
-  return FALSE;
-}
-
-static gboolean
-gdk_broadway_display_request_selection_notification (GdkDisplay *display,
-                                                    GdkAtom     selection)
-
-{
-    return FALSE;
-}
-
-static gboolean
 gdk_broadway_display_supports_clipboard_persistence (GdkDisplay *display)
 {
   return FALSE;
@@ -558,8 +544,6 @@ gdk_broadway_display_class_init (GdkBroadwayDisplayClass * class)
   display_class->has_pending = gdk_broadway_display_has_pending;
   display_class->queue_events = _gdk_broadway_display_queue_events;
   display_class->get_default_group = gdk_broadway_display_get_default_group;
-  display_class->supports_selection_notification = gdk_broadway_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_broadway_display_request_selection_notification;
   display_class->supports_clipboard_persistence = gdk_broadway_display_supports_clipboard_persistence;
   display_class->store_clipboard = gdk_broadway_display_store_clipboard;
   display_class->supports_shapes = gdk_broadway_display_supports_shapes;
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 0e6baee..23c1c8b 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -1144,50 +1144,6 @@ gdk_display_get_default_group (GdkDisplay *display)
 }
 
 /**
- * gdk_display_supports_selection_notification:
- * @display: a #GdkDisplay
- *
- * Returns whether #GdkEventOwnerChange events will be
- * sent when the owner of a selection changes.
- *
- * Returns: whether #GdkEventOwnerChange events will
- *               be sent.
- *
- * Since: 2.6
- **/
-gboolean
-gdk_display_supports_selection_notification (GdkDisplay *display)
-{
-  g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
-
-  return GDK_DISPLAY_GET_CLASS (display)->supports_selection_notification (display);
-}
-
-/**
- * gdk_display_request_selection_notification:
- * @display: a #GdkDisplay
- * @selection: the #GdkAtom naming the selection for which
- *             ownership change notification is requested
- *
- * Request #GdkEventOwnerChange events for ownership changes
- * of the selection named by the given atom.
- *
- * Returns: whether #GdkEventOwnerChange events will
- *               be sent.
- *
- * Since: 2.6
- **/
-gboolean
-gdk_display_request_selection_notification (GdkDisplay *display,
-                                           GdkAtom     selection)
-
-{
-  g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
-
-  return GDK_DISPLAY_GET_CLASS (display)->request_selection_notification (display, selection);
-}
-
-/**
  * gdk_display_get_clipboard:
  * @display: a #GdkDisplay
  *
diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h
index 1c9f3ca..1c370c9 100644
--- a/gdk/gdkdisplay.h
+++ b/gdk/gdkdisplay.h
@@ -93,12 +93,6 @@ void     gdk_display_get_maximal_cursor_size   (GdkDisplay    *display,
 GDK_AVAILABLE_IN_ALL
 GdkWindow *gdk_display_get_default_group       (GdkDisplay *display); 
 
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_display_supports_selection_notification (GdkDisplay *display);
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_display_request_selection_notification  (GdkDisplay *display,
-                                                      GdkAtom     selection);
-
 GDK_AVAILABLE_IN_3_94
 GdkClipboard *          gdk_display_get_clipboard               (GdkDisplay     *display);
 GDK_AVAILABLE_IN_3_94
diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h
index df181e0..29e7a95 100644
--- a/gdk/gdkdisplayprivate.h
+++ b/gdk/gdkdisplayprivate.h
@@ -126,9 +126,6 @@ struct _GdkDisplayClass
   void                       (*queue_events)       (GdkDisplay *display);
   void                       (*make_default)       (GdkDisplay *display);
   GdkWindow *                (*get_default_group)  (GdkDisplay *display);
-  gboolean                   (*supports_selection_notification) (GdkDisplay *display);
-  gboolean                   (*request_selection_notification)  (GdkDisplay *display,
-                                                                 GdkAtom     selection);
   gboolean                   (*supports_shapes)       (GdkDisplay *display);
   gboolean                   (*supports_input_shapes) (GdkDisplay *display);
   gboolean                   (*supports_cursor_alpha) (GdkDisplay *display);
diff --git a/gdk/mir/gdkmirdisplay.c b/gdk/mir/gdkmirdisplay.c
index 09b71bc..6e14013 100644
--- a/gdk/mir/gdkmirdisplay.c
+++ b/gdk/mir/gdkmirdisplay.c
@@ -400,19 +400,6 @@ gdk_mir_display_supports_cursor_color (GdkDisplay *display)
   return FALSE;
 }
 
-static gboolean
-gdk_mir_display_supports_selection_notification (GdkDisplay *display)
-{
-  return FALSE;
-}
-
-static gboolean
-gdk_mir_display_request_selection_notification (GdkDisplay *display,
-                                                GdkAtom     selection)
-{
-  return FALSE;
-}
-
 static void
 gdk_mir_display_store_clipboard (GdkDisplay    *display,
                                  GdkWindow     *clipboard_window,
@@ -843,8 +830,6 @@ gdk_mir_display_class_init (GdkMirDisplayClass *klass)
   display_class->supports_clipboard_persistence = gdk_mir_display_supports_clipboard_persistence;
   display_class->supports_cursor_alpha = gdk_mir_display_supports_cursor_alpha;
   display_class->supports_cursor_color = gdk_mir_display_supports_cursor_color;
-  display_class->supports_selection_notification = gdk_mir_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_mir_display_request_selection_notification;
   display_class->store_clipboard = gdk_mir_display_store_clipboard;
   display_class->get_default_cursor_size = gdk_mir_display_get_default_cursor_size;
   display_class->get_maximal_cursor_size = gdk_mir_display_get_maximal_cursor_size;
diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c
index 8c3ddda..b925d18 100644
--- a/gdk/quartz/gdkdisplay-quartz.c
+++ b/gdk/quartz/gdkdisplay-quartz.c
@@ -112,24 +112,6 @@ gdk_quartz_display_flush (GdkDisplay *display)
 }
 
 static gboolean
-gdk_quartz_display_supports_selection_notification (GdkDisplay *display)
-{
-  g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
-
-  /* FIXME: Implement */
-  return FALSE;
-}
-
-static gboolean
-gdk_quartz_display_request_selection_notification (GdkDisplay *display,
-                                                   GdkAtom     selection)
-
-{
-  /* FIXME: Implement */
-  return FALSE;
-}
-
-static gboolean
 gdk_quartz_display_supports_clipboard_persistence (GdkDisplay *display)
 {
   /* FIXME: Implement */
@@ -259,8 +241,6 @@ gdk_quartz_display_class_init (GdkQuartzDisplayClass *class)
   display_class->queue_events = _gdk_quartz_display_queue_events;
   display_class->has_pending = _gdk_quartz_display_has_pending;
   display_class->get_default_group = gdk_quartz_display_get_default_group;
-  display_class->supports_selection_notification = gdk_quartz_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_quartz_display_request_selection_notification;
   display_class->supports_clipboard_persistence = gdk_quartz_display_supports_clipboard_persistence;
   display_class->store_clipboard = gdk_quartz_display_store_clipboard;
   display_class->supports_shapes = gdk_quartz_display_supports_shapes;
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index ab6a913..b7158af 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -810,21 +810,6 @@ gdk_wayland_display_get_default_group (GdkDisplay *display)
   return NULL;
 }
 
-
-static gboolean
-gdk_wayland_display_supports_selection_notification (GdkDisplay *display)
-{
-  return FALSE;
-}
-
-static gboolean
-gdk_wayland_display_request_selection_notification (GdkDisplay *display,
-                                                   GdkAtom     selection)
-
-{
-    return FALSE;
-}
-
 static gboolean
 gdk_wayland_display_supports_clipboard_persistence (GdkDisplay *display)
 {
@@ -1004,8 +989,6 @@ gdk_wayland_display_class_init (GdkWaylandDisplayClass *class)
   display_class->has_pending = gdk_wayland_display_has_pending;
   display_class->queue_events = _gdk_wayland_display_queue_events;
   display_class->get_default_group = gdk_wayland_display_get_default_group;
-  display_class->supports_selection_notification = gdk_wayland_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_wayland_display_request_selection_notification;
   display_class->supports_clipboard_persistence = gdk_wayland_display_supports_clipboard_persistence;
   display_class->store_clipboard = gdk_wayland_display_store_clipboard;
   display_class->supports_shapes = gdk_wayland_display_supports_shapes;
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c
index 840e463..93c4bdc 100644
--- a/gdk/win32/gdkdisplay-win32.c
+++ b/gdk/win32/gdkdisplay-win32.c
@@ -504,14 +504,6 @@ gdk_win32_display_get_default_group (GdkDisplay *display)
   return NULL;
 }
 
-static gboolean
-gdk_win32_display_supports_selection_notification (GdkDisplay *display)
-{
-  g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
-
-  return TRUE;
-}
-
 static HWND _hwnd_next_viewer = NULL;
 
 /*
@@ -687,43 +679,6 @@ failed:
 }
 
 static gboolean
-gdk_win32_display_request_selection_notification (GdkDisplay *display,
-                                                  GdkAtom     selection)
-
-{
-  GdkWin32Display *display_win32 = GDK_WIN32_DISPLAY (display);
-  gboolean ret = FALSE;
-  gchar *selection_name = gdk_atom_name (selection);
-
-  GDK_NOTE (DND,
-            g_print ("gdk_display_request_selection_notification (..., %s)",
-                     selection_name));
-
-  if (selection == GDK_SELECTION_CLIPBOARD ||
-      selection == GDK_SELECTION_PRIMARY)
-    {
-      if (display_win32->clipboard_hwnd == NULL)
-        {
-          if (register_clipboard_notification (display))
-            GDK_NOTE (DND, g_print (" registered"));
-          else
-            GDK_NOTE (DND, g_print (" failed to register"));
-        }
-      ret = (display_win32->clipboard_hwnd != NULL);
-    }
-  else
-    {
-      GDK_NOTE (DND, g_print (" unsupported"));
-      ret = FALSE;
-    }
-
-  g_free (selection_name);
-
-  GDK_NOTE (DND, g_print (" -> %s\n", ret ? "TRUE" : "FALSE"));
-  return ret;
-}
-
-static gboolean
 gdk_win32_display_supports_clipboard_persistence (GdkDisplay *display)
 {
   return TRUE;
@@ -1226,8 +1181,6 @@ gdk_win32_display_class_init (GdkWin32DisplayClass *klass)
   display_class->queue_events = _gdk_win32_display_queue_events;
   display_class->get_default_group = gdk_win32_display_get_default_group;
 
-  display_class->supports_selection_notification = gdk_win32_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_win32_display_request_selection_notification;
   display_class->supports_clipboard_persistence = gdk_win32_display_supports_clipboard_persistence;
   display_class->store_clipboard = gdk_win32_display_store_clipboard;
   display_class->supports_shapes = gdk_win32_display_supports_shapes;
@@ -1244,9 +1197,6 @@ gdk_win32_display_class_init (GdkWin32DisplayClass *klass)
   display_class->create_window_impl = _gdk_win32_display_create_window_impl;
 
   display_class->get_keymap = _gdk_win32_display_get_keymap;
-  display_class->send_selection_notify = _gdk_win32_display_send_selection_notify;
-  display_class->get_selection_property = _gdk_win32_display_get_selection_property;
-  display_class->convert_selection = _gdk_win32_display_convert_selection;
   display_class->text_property_to_utf8_list = _gdk_win32_display_text_property_to_utf8_list;
   display_class->utf8_to_string_target = _gdk_win32_display_utf8_to_string_target;
   display_class->make_gl_context_current = _gdk_win32_display_make_gl_context_current;
diff --git a/gdk/x11/gdkclipboard-x11.c b/gdk/x11/gdkclipboard-x11.c
index ccbd3c1..38151ae 100644
--- a/gdk/x11/gdkclipboard-x11.c
+++ b/gdk/x11/gdkclipboard-x11.c
@@ -813,7 +813,7 @@ gdk_x11_clipboard_new (GdkDisplay  *display,
   cb->selection = g_strdup (selection);
   cb->xselection = gdk_x11_get_xatom_by_name_for_display (display, selection);
 
-  gdk_display_request_selection_notification (display, gdk_atom_intern (selection, FALSE));
+  gdk_x11_display_request_selection_notification (display, selection);
   g_signal_connect (display, "xevent", G_CALLBACK (gdk_x11_clipboard_xevent), cb);
   gdk_x11_clipboard_claim_remote (cb, CurrentTime);
 
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index cb5d6a2..9f08d66 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -1662,8 +1662,8 @@ gdk_x11_display_open (const gchar *display_name)
    * notification, and then setup the initial state of
    * is_composited to avoid a race condition here.
    */
-  gdk_display_request_selection_notification (display,
-                                             gdk_x11_xatom_to_atom_for_display (display, get_cm_atom 
(display)));
+  gdk_x11_display_request_selection_notification (display,
+                                                  gdk_x11_xatom_to_atom_for_display (display, get_cm_atom 
(display)));
   gdk_display_set_composited (GDK_DISPLAY (display),
                               XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), get_cm_atom (display)) != 
None);
 
@@ -2356,17 +2356,9 @@ gdk_x11_display_notify_startup_complete (GdkDisplay  *display,
   g_free (free_this);
 }
 
-static gboolean
-gdk_x11_display_supports_selection_notification (GdkDisplay *display)
-{
-  GdkX11Display *display_x11 = GDK_X11_DISPLAY (display);
-
-  return display_x11->have_xfixes;
-}
-
-static gboolean
+gboolean
 gdk_x11_display_request_selection_notification (GdkDisplay *display,
-                                               GdkAtom     selection)
+                                               const char *selection)
 
 {
 #ifdef HAVE_XFIXES
@@ -2375,8 +2367,7 @@ gdk_x11_display_request_selection_notification (GdkDisplay *display,
 
   if (display_x11->have_xfixes)
     {
-      atom = gdk_x11_atom_to_xatom_for_display (display, 
-                                               selection);
+      atom = gdk_x11_get_xatom_by_name_for_display (display, selection);
       XFixesSelectSelectionInput (display_x11->xdisplay, 
                                  display_x11->leader_window,
                                  atom,
@@ -3136,8 +3127,6 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
   display_class->has_pending = gdk_x11_display_has_pending;
   display_class->queue_events = _gdk_x11_display_queue_events;
   display_class->get_default_group = gdk_x11_display_get_default_group;
-  display_class->supports_selection_notification = gdk_x11_display_supports_selection_notification;
-  display_class->request_selection_notification = gdk_x11_display_request_selection_notification;
   display_class->supports_clipboard_persistence = gdk_x11_display_supports_clipboard_persistence;
   display_class->store_clipboard = gdk_x11_display_store_clipboard;
   display_class->supports_shapes = gdk_x11_display_supports_shapes;
diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h
index efe2891..49712d6 100644
--- a/gdk/x11/gdkdisplay-x11.h
+++ b/gdk/x11/gdkdisplay-x11.h
@@ -168,15 +168,17 @@ struct _GdkX11DisplayClass
 {
   GdkDisplayClass parent_class;
 
-  gboolean              (* xevent)                      (GdkX11Display          *display,
-                                                         const XEvent           *event);
+  gboolean              (* xevent)                              (GdkX11Display          *display,
+                                                                 const XEvent           *event);
 };
 
-GdkX11Screen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay  *display,
-                                                    Window       xrootwin);
-void       _gdk_x11_display_error_event         (GdkDisplay  *display,
-                                                 XErrorEvent *error);
-gsize      gdk_x11_display_get_max_request_size (GdkDisplay *display);
+GdkX11Screen *  _gdk_x11_display_screen_for_xrootwin            (GdkDisplay             *display,
+                                                                 Window                  xrootwin);
+void            _gdk_x11_display_error_event                    (GdkDisplay             *display,
+                                                                 XErrorEvent            *error);
+gsize           gdk_x11_display_get_max_request_size            (GdkDisplay             *display);
+gboolean        gdk_x11_display_request_selection_notification  (GdkDisplay             *display,
+                                                                 const char             *selection);
 
 GdkFilterReturn _gdk_wm_protocols_filter        (GdkXEvent   *xev,
                                                  GdkEvent    *event,


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