From: Benjamin Otte Date: Thu, 14 Dec 2017 03:20:48 +0000 (+0100) Subject: gdk: Remove ability to request selection notifications X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~23^2~212 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=65fcff87b2df4d217814bf6519e2ebe433baf1aa;p=gtk4.git gdk: Remove ability to request selection notifications Without selections, that's kinda pointless. --- diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt index 5997eebe8c..04b333b3ff 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 43330d6128..e8f47dacf9 100644 --- a/gdk/broadway/gdkdisplay-broadway.c +++ b/gdk/broadway/gdkdisplay-broadway.c @@ -358,20 +358,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) { @@ -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 0e6baeea3a..23c1c8b1bb 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1143,50 +1143,6 @@ gdk_display_get_default_group (GdkDisplay *display) return GDK_DISPLAY_GET_CLASS (display)->get_default_group (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 1c9f3ca842..1c370c929e 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 df181e0946..29e7a95796 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 09b71bcc8c..6e14013071 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 8c3dddac90..b925d18ba6 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -111,24 +111,6 @@ gdk_quartz_display_flush (GdkDisplay *display) /* Not supported. */ } -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) { @@ -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 ab6a913c54..b7158afacd 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 840e463600..93c4bdc1dc 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; /* @@ -686,43 +678,6 @@ failed: return FALSE; } -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) { @@ -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 ccbd3c19b3..38151aeea2 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 cb5d6a229c..9f08d6679c 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 efe28911d2..49712d61c8 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,