summaryrefslogtreecommitdiff
path: root/gio
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-04-07 08:12:06 -0400
committerMatthias Clasen <mclasen@redhat.com>2023-04-07 08:44:29 -0400
commite03a96e93485a8ab39e3709c8ba9d715aa20e280 (patch)
treeeb9df071ab0a8330185999fc68ea85fd542f96f2 /gio
parentadcf017eb482e9fdf4f278cb7c4bdd6c71ca7f87 (diff)
downloadglib-e03a96e93485a8ab39e3709c8ba9d715aa20e280.tar.gz
actiongroup: Add a compiler warning
Warn when the boolean return isn't used, since we may not initialize the out arguments in the FALSE case. Update all internal callers to use the return value. They were already safe, but users outside GLib may not be.
Diffstat (limited to 'gio')
-rw-r--r--gio/gactiongroup.c25
-rw-r--r--gio/gactiongroup.h2
2 files changed, 16 insertions, 11 deletions
diff --git a/gio/gactiongroup.c b/gio/gactiongroup.c
index 73f8faf5f..a327195cc 100644
--- a/gio/gactiongroup.c
+++ b/gio/gactiongroup.c
@@ -133,9 +133,10 @@ static gboolean
g_action_group_real_get_action_enabled (GActionGroup *action_group,
const gchar *action_name)
{
- gboolean enabled = FALSE;
+ gboolean enabled;
- g_action_group_query_action (action_group, action_name, &enabled, NULL, NULL, NULL, NULL);
+ if (!g_action_group_query_action (action_group, action_name, &enabled, NULL, NULL, NULL, NULL))
+ return FALSE;
return enabled;
}
@@ -144,9 +145,10 @@ static const GVariantType *
g_action_group_real_get_action_parameter_type (GActionGroup *action_group,
const gchar *action_name)
{
- const GVariantType *type = NULL;
+ const GVariantType *type;
- g_action_group_query_action (action_group, action_name, NULL, &type, NULL, NULL, NULL);
+ if (!g_action_group_query_action (action_group, action_name, NULL, &type, NULL, NULL, NULL))
+ return NULL;
return type;
}
@@ -155,9 +157,10 @@ static const GVariantType *
g_action_group_real_get_action_state_type (GActionGroup *action_group,
const gchar *action_name)
{
- const GVariantType *type = NULL;
+ const GVariantType *type;
- g_action_group_query_action (action_group, action_name, NULL, NULL, &type, NULL, NULL);
+ if (!g_action_group_query_action (action_group, action_name, NULL, NULL, &type, NULL, NULL))
+ return NULL;
return type;
}
@@ -166,9 +169,10 @@ static GVariant *
g_action_group_real_get_action_state_hint (GActionGroup *action_group,
const gchar *action_name)
{
- GVariant *hint = NULL;
+ GVariant *hint;
- g_action_group_query_action (action_group, action_name, NULL, NULL, NULL, &hint, NULL);
+ if (!g_action_group_query_action (action_group, action_name, NULL, NULL, NULL, &hint, NULL))
+ return NULL;
return hint;
}
@@ -177,9 +181,10 @@ static GVariant *
g_action_group_real_get_action_state (GActionGroup *action_group,
const gchar *action_name)
{
- GVariant *state = NULL;
+ GVariant *state;
- g_action_group_query_action (action_group, action_name, NULL, NULL, NULL, NULL, &state);
+ if (!g_action_group_query_action (action_group, action_name, NULL, NULL, NULL, NULL, &state))
+ return NULL;
return state;
}
diff --git a/gio/gactiongroup.h b/gio/gactiongroup.h
index f8d20ae69..06213df8a 100644
--- a/gio/gactiongroup.h
+++ b/gio/gactiongroup.h
@@ -156,7 +156,7 @@ gboolean g_action_group_query_action (GAction
const GVariantType **parameter_type,
const GVariantType **state_type,
GVariant **state_hint,
- GVariant **state);
+ GVariant **state) G_GNUC_WARN_UNUSED_RESULT;
G_END_DECLS