aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gactionmuxer.c5
-rw-r--r--test/test-gactionmuxer.cpp17
2 files changed, 21 insertions, 1 deletions
diff --git a/src/gactionmuxer.c b/src/gactionmuxer.c
index 0f3cda4..1aae9fb 100644
--- a/src/gactionmuxer.c
+++ b/src/gactionmuxer.c
@@ -429,10 +429,13 @@ g_action_muxer_insert (GActionMuxer *muxer,
gchar **action;
g_return_if_fail (G_IS_ACTION_MUXER (muxer));
- g_return_if_fail (G_IS_ACTION_GROUP (group));
+ g_return_if_fail (group == NULL || G_IS_ACTION_GROUP (group));
g_action_muxer_remove (muxer, prefix);
+ if (group == NULL)
+ return;
+
if (prefix)
{
prefix_copy = g_strdup (prefix);
diff --git a/test/test-gactionmuxer.cpp b/test/test-gactionmuxer.cpp
index 78e808f..5c98c90 100644
--- a/test/test-gactionmuxer.cpp
+++ b/test/test-gactionmuxer.cpp
@@ -46,17 +46,34 @@ TEST(GActionMuxerTest, Sanity) {
g_type_init ();
#endif
+ g_test_expect_message ("Indicator-Messages", G_LOG_LEVEL_CRITICAL, "*G_IS_ACTION_MUXER*");
g_action_muxer_insert (NULL, NULL, NULL);
+ g_test_assert_expected_messages ();
+
+ g_test_expect_message ("Indicator-Messages", G_LOG_LEVEL_CRITICAL, "*G_IS_ACTION_MUXER*");
g_action_muxer_remove (NULL, NULL);
+ g_test_assert_expected_messages ();
muxer = g_action_muxer_new ();
g_action_muxer_insert (muxer, NULL, NULL);
g_action_muxer_remove (muxer, NULL);
+
+ g_test_expect_message ("Indicator-Messages", G_LOG_LEVEL_CRITICAL, "*NULL*");
EXPECT_FALSE (g_action_group_has_action (G_ACTION_GROUP (muxer), NULL));
+ g_test_assert_expected_messages ();
+
+ g_test_expect_message ("Indicator-Messages", G_LOG_LEVEL_CRITICAL, "*NULL*");
EXPECT_FALSE (g_action_group_get_action_enabled (G_ACTION_GROUP (muxer), NULL));
+ g_test_assert_expected_messages ();
+
+ g_test_expect_message ("Indicator-Messages", G_LOG_LEVEL_CRITICAL, "*NULL*");
EXPECT_FALSE (g_action_group_query_action (G_ACTION_GROUP (muxer), NULL, NULL, NULL, NULL, NULL, NULL));
+ g_test_assert_expected_messages ();
+
+ g_test_expect_message ("GLib-GIO", G_LOG_LEVEL_CRITICAL, "*NULL*");
g_action_group_activate_action (G_ACTION_GROUP (muxer), NULL, NULL);
+ g_test_assert_expected_messages ();
g_object_unref (muxer);
}