diff options
Diffstat (limited to 'glib/dbus-gproxy.c')
-rw-r--r-- | glib/dbus-gproxy.c | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c index fd78b04d..929e52e4 100644 --- a/glib/dbus-gproxy.c +++ b/glib/dbus-gproxy.c @@ -1204,7 +1204,8 @@ dbus_g_proxy_manager_filter (DBusConnection *connection, dbus_message_get_interface (message)); owner_list = g_hash_table_lookup (manager->proxy_lists, tri); - full_list = g_slist_concat (full_list, g_slist_copy (owner_list->proxies)); + if (owner_list != NULL) + full_list = g_slist_concat (full_list, g_slist_copy (owner_list->proxies)); g_free (tri); } } @@ -2033,9 +2034,6 @@ dbus_g_proxy_begin_call_internal (DBusGProxy *proxy, GPendingNotifyClosure *closure; guint call_id; - g_return_val_if_fail (DBUS_IS_G_PROXY (proxy), FALSE); - g_return_val_if_fail (!DBUS_G_PROXY_DESTROYED (proxy), FALSE); - pending = NULL; message = dbus_g_proxy_marshal_args_to_message (proxy, method, args); @@ -2152,26 +2150,8 @@ dbus_g_proxy_end_call_internal (DBusGProxy *proxy, { g_value_init (&gvalue, valtype); - /* FIXME, should use error here instead of NULL */ - if (!dbus_gvalue_demarshal (&context, &msgiter, &gvalue, NULL)) - { - g_set_error (error, - DBUS_GERROR, - DBUS_GERROR_INVALID_ARGS, - _("Couldn't convert argument, expected \"%s\""), - g_type_name (valtype)); - goto out; - } - - if (G_VALUE_TYPE (&gvalue) != valtype) - { - g_set_error (error, DBUS_GERROR, - DBUS_GERROR_INVALID_ARGS, - _("Reply argument was \"%s\", expected \"%s\""), - g_type_name (G_VALUE_TYPE (&gvalue)), - g_type_name (valtype)); - goto out; - } + if (!dbus_gvalue_demarshal (&context, &msgiter, &gvalue, error)) + goto out; /* Anything that can be demarshaled must be storable */ if (!dbus_gvalue_store (&gvalue, (gpointer*) return_storage)) @@ -2274,6 +2254,9 @@ dbus_g_proxy_begin_call (DBusGProxy *proxy, va_list args; GValueArray *arg_values; + g_return_val_if_fail (DBUS_IS_G_PROXY (proxy), FALSE); + g_return_val_if_fail (!DBUS_G_PROXY_DESTROYED (proxy), FALSE); + va_start (args, first_arg_type); DBUS_G_VALUE_ARRAY_COLLECT_ALL (arg_values, first_arg_type, args); |