From 28a1e448330a884abead13d173205f094a95d1f2 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Aug 2018 00:44:47 +0200 Subject: [PATCH] accel: Add display arg to gtk_accelerator_parse_with_keycode() It was using the default display unconditionally. --- gtk/gtkaccelgroup.c | 6 ++++-- gtk/gtkaccelgroup.h | 1 + testsuite/gtk/accel.c | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 08ab2e9241..1d13d0fca3 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -912,6 +912,7 @@ is_keycode (const gchar *string) /** * gtk_accelerator_parse_with_keycode: * @accelerator: string representing an accelerator + * @display: (allow-none): the #GdkDisplay to look up @accelerator_codes in * @accelerator_key: (out) (allow-none): return location for accelerator * keyval, or %NULL * @accelerator_codes: (out) (array zero-terminated=1) (transfer full) (allow-none): @@ -937,6 +938,7 @@ is_keycode (const gchar *string) */ gboolean gtk_accelerator_parse_with_keycode (const gchar *accelerator, + GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods) @@ -1100,7 +1102,7 @@ gtk_accelerator_parse_with_keycode (const gchar *accelerator, if (keyval && accelerator_codes != NULL) { - GdkKeymap *keymap = gdk_display_get_keymap (gdk_display_get_default ()); + GdkKeymap *keymap = gdk_display_get_keymap (display ? display : gdk_display_get_default ()); GdkKeymapKey *keys; gint n_keys, i, j; @@ -1193,7 +1195,7 @@ gtk_accelerator_parse (const gchar *accelerator, guint *accelerator_key, GdkModifierType *accelerator_mods) { - return gtk_accelerator_parse_with_keycode (accelerator, accelerator_key, NULL, accelerator_mods); + return gtk_accelerator_parse_with_keycode (accelerator, NULL, accelerator_key, NULL, accelerator_mods); } /** diff --git a/gtk/gtkaccelgroup.h b/gtk/gtkaccelgroup.h index cc5d64c58a..2efa868899 100644 --- a/gtk/gtkaccelgroup.h +++ b/gtk/gtkaccelgroup.h @@ -189,6 +189,7 @@ gboolean gtk_accelerator_parse (const gchar *accelerator, GdkModifierType *accelerator_mods); GDK_AVAILABLE_IN_ALL gboolean gtk_accelerator_parse_with_keycode (const gchar *accelerator, + GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods); diff --git a/testsuite/gtk/accel.c b/testsuite/gtk/accel.c index 51e6fc7bee..c49a10e72f 100644 --- a/testsuite/gtk/accel.c +++ b/testsuite/gtk/accel.c @@ -29,6 +29,7 @@ test_one_accel (const char *accel, accel_key = 0; g_assert (gtk_accelerator_parse_with_keycode (accel, + gdk_display_get_default (), &accel_key, &keycodes, &mods));