exporter: give error on Describe of missing action

If someone calls org.gtk.Actions.Describe on a non-existent action then
return an exception instead of a trivial description (disabled, no
state, etc.).

https://bugzilla.gnome.org/show_bug.cgi?id=687185
This commit is contained in:
Ryan Lortie 2013-10-28 14:49:14 -07:00
parent 83869120bb
commit e275b8bc6c

View File

@ -380,6 +380,14 @@ org_gtk_Actions_method_call (GDBusConnection *connection,
GVariant *desc;
g_variant_get (parameters, "(&s)", &name);
if (!g_action_group_has_action (exporter->action_group, name))
{
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
"The named action does not exist.");
return;
}
desc = g_action_group_describe_action (exporter->action_group, name);
result = g_variant_new ("(@(bgav))", desc);
}