From e873c98e25340178aaeb5f5197b5cc386428a4e1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 23 Jun 2019 22:55:19 +0000 Subject: [PATCH] action muxer: Be safe against reinsertion Be prepared for the eventuality that somebody might reinsert the same action group without holding any extra references on it. This was observed as causing crashes in gnome-builder. --- gtk/gtkactionmuxer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkactionmuxer.c b/gtk/gtkactionmuxer.c index ee97cd294f..d6c3d26161 100644 --- a/gtk/gtkactionmuxer.c +++ b/gtk/gtkactionmuxer.c @@ -683,12 +683,14 @@ gtk_action_muxer_insert (GtkActionMuxer *muxer, Group *group; gint i; + g_object_ref (action_group); + /* TODO: diff instead of ripout and replace */ gtk_action_muxer_remove (muxer, prefix); group = g_slice_new (Group); group->muxer = muxer; - group->group = g_object_ref (action_group); + group->group = action_group; group->prefix = g_strdup (prefix); g_hash_table_insert (muxer->groups, group->prefix, group);