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.
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user