From 745b19d640e657118b298c6b7cc37798af878a5a Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Sat, 9 Jul 2005 18:54:45 +0000 Subject: 2005-07-09 Colin Walters * glib/dbus-gparser.c (parse_annotation): Add annotations to argument if available, not method. * glib/dbus-gobject.c (arg_iterate): More verbose warnings. (invoke_object_method): First, remove some redundant GValues (object_value, error_value) in favor of working on array directly. Second, rework constness to be less buggy. Now we iterate directly over the argument metadata instead of parallel iterating over output signature and metadata. * glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error. * glib/dbus-binding-tool-glib.c (generate_glue): Barf on const annotation on input args. --- glib/dbus-gparser.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'glib/dbus-gparser.c') diff --git a/glib/dbus-gparser.c b/glib/dbus-gparser.c index 4c962874..bf89492d 100644 --- a/glib/dbus-gparser.c +++ b/glib/dbus-gparser.c @@ -666,7 +666,6 @@ parse_arg (Parser *parser, method_info_get_n_args (parser->method) : signal_info_get_n_args (parser->signal)); - arg = arg_info_new (name ? name : generated_name, dir, type); if (parser->method) method_info_add_arg (parser->method, arg); @@ -732,12 +731,12 @@ parse_annotation (Parser *parser, return FALSE; } - if (parser->method) + if (parser->arg) + arg_info_add_annotation (parser->arg, name, value); + else if (parser->method) method_info_add_annotation (parser->method, name, value); else if (parser->interface) interface_info_add_annotation (parser->interface, name, value); - else if (parser->arg) - arg_info_add_annotation (parser->arg, name, value); else g_assert_not_reached (); -- cgit