diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-12-16 19:26:21 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-12-16 19:47:07 +0100 |
commit | 4a7589ea1254938536b3c891ddae8c35ff1dfcb1 (patch) | |
tree | a56eb73c53ce2efaf1de3cb51a19585200857794 | |
parent | 0f98f225d1b81e0c8bd0bbcf901ef8368bdde096 (diff) | |
download | gtk+-4a7589ea1254938536b3c891ddae8c35ff1dfcb1.tar.gz |
GtkWindow: Avoid GdkDeviceManager API
We can iterate over the seats' pointers, instead of over master pointers.
-rw-r--r-- | gtk/gtkwindow.c | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 802904c8d0..ce8d57c734 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8124,35 +8124,29 @@ do_focus_change (GtkWidget *widget, static gboolean gtk_window_has_mnemonic_modifier_pressed (GtkWindow *window) { - GList *devices, *d; - GdkDeviceManager *device_manager; + GList *seats, *s; gboolean retval = FALSE; if (!window->priv->mnemonic_modifier) return FALSE; - device_manager = gdk_display_get_device_manager (gtk_widget_get_display (GTK_WIDGET (window))); - devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); + seats = gdk_display_list_seats (gtk_widget_get_display (GTK_WIDGET (window))); - for (d = devices; d; d = d->next) + for (s = seats; s; s = s->next) { - GdkDevice *dev = d->data; + GdkDevice *dev = gdk_seat_get_pointer (s->data); + GdkModifierType mask; - if (gdk_device_get_source (dev) == GDK_SOURCE_MOUSE) + gdk_device_get_state (dev, _gtk_widget_get_window (GTK_WIDGET (window)), + NULL, &mask); + if (window->priv->mnemonic_modifier == (mask & gtk_accelerator_get_default_mod_mask ())) { - GdkModifierType mask; - - gdk_device_get_state (dev, _gtk_widget_get_window (GTK_WIDGET (window)), - NULL, &mask); - if (window->priv->mnemonic_modifier == (mask & gtk_accelerator_get_default_mod_mask ())) - { - retval = TRUE; - break; - } + retval = TRUE; + break; } } - g_list_free (devices); + g_list_free (seats); return retval; } |