diff --git a/app/menus/windows-menu.c b/app/menus/windows-menu.c index a22815db1f..b8e84fe59a 100644 --- a/app/menus/windows-menu.c +++ b/app/menus/windows-menu.c @@ -265,5 +265,14 @@ windows_menu_recent_remove (GimpContainer *container, GimpSessionInfo *info, GimpUIManager *manager) { - gimp_ui_manager_remove_uis (manager, "windows-recent-"); + gchar *action_name; + gint info_id; + + info_id = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (info), "recent-action-id")); + + action_name = g_strdup_printf ("windows-recent-%04d", info_id); + + gimp_ui_manager_remove_uis (manager, action_name); + + g_free (action_name); } diff --git a/app/widgets/gimpmenumodel.c b/app/widgets/gimpmenumodel.c index 14f5d521e4..c96bc45cb3 100644 --- a/app/widgets/gimpmenumodel.c +++ b/app/widgets/gimpmenumodel.c @@ -980,6 +980,11 @@ gimp_menu_model_get_item (GimpMenuModel *model, action = gimp_ui_manager_find_action (model->priv->manager, NULL, action_name); + if (! action) + { + g_critical ("Invalid action '%s'", action_name); + continue; + } if (gimp_action_is_visible (action)) cur++; }