summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-06-23 22:54:02 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-06-23 20:49:57 -0400
commitf8251a4da99af1341575932f2800df8f6f8ec358 (patch)
treed6b15ec20b1ee268a6a19107cebeda0e106163f9 /testsuite
parent21694949fce2040279af801542be38134612aa9f (diff)
downloadgtk+-f8251a4da99af1341575932f2800df8f6f8ec358.tar.gz
Add a test for reinserting action groups
This is reproducing a crash that was seen in gnome-builder.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/gtk/action.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/gtk/action.c b/testsuite/gtk/action.c
index a21fa611b1..585753e10a 100644
--- a/testsuite/gtk/action.c
+++ b/testsuite/gtk/action.c
@@ -214,6 +214,26 @@ g_test_action_muxer (void)
/* main */
+static void
+test_reinsert (void)
+{
+ GtkWidget *widget;
+ GActionGroup *group;
+
+ widget = gtk_label_new ("");
+ group = G_ACTION_GROUP (g_simple_action_group_new ());
+
+ gtk_widget_insert_action_group (widget, "test", group);
+ g_assert (gtk_widget_get_action_group (widget, "test") == group);
+
+ g_clear_object (&group);
+
+ group = gtk_widget_get_action_group (widget, "test");
+ gtk_widget_insert_action_group (widget, "test", group);
+
+ gtk_widget_destroy (widget);
+}
+
int
main (int argc,
char **argv)
@@ -227,6 +247,7 @@ main (int argc,
action_test_teardown);
g_test_add_func ("/action/muxer/update-parent", g_test_action_muxer);
+ g_test_add_func ("/action/reinsert", test_reinsert);
return g_test_run ();
}