From 0098b047d5fb67df39fda92f578bad358b4d1418 Mon Sep 17 00:00:00 2001 From: Robert Fewell <14uBobIT@gmail.com> Date: Wed, 8 Mar 2023 15:52:03 +0000 Subject: [PATCH] Only add the accelerator key to the menu item once --- gnucash/gnome-utils/gnc-gtk-utils.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnucash/gnome-utils/gnc-gtk-utils.c b/gnucash/gnome-utils/gnc-gtk-utils.c index ef264b0c56..d9bed92799 100644 --- a/gnucash/gnome-utils/gnc-gtk-utils.c +++ b/gnucash/gnome-utils/gnc-gtk-utils.c @@ -371,15 +371,20 @@ add_accel_for_menu_lookup (GtkWidget *widget, gpointer user_data) if (accel_label) { + gboolean added = GPOINTER_TO_INT(g_object_get_data (G_OBJECT(menuItem), + "accel-added")); guint key; GdkModifierType mods; gtk_accel_label_get_accel (GTK_ACCEL_LABEL(accel_label), &key, &mods); - if (key > 0) + if (key > 0 && !added) + { + g_object_set_data (G_OBJECT(menuItem), "accel-added", GINT_TO_POINTER(1)); gtk_widget_add_accelerator (GTK_WIDGET(widget), "activate", GTK_ACCEL_GROUP(user_data), key, mods, GTK_ACCEL_VISIBLE); + } } if (GTK_IS_CONTAINER(subMenu)) gtk_container_foreach (GTK_CONTAINER(subMenu),