GDBusProxy: Don't warn when calling methods on other interfaces
authorDavid Zeuthen <davidz@redhat.com>
Tue, 22 Jun 2010 21:48:35 +0000 (17:48 -0400)
committerDavid Zeuthen <davidz@redhat.com>
Tue, 22 Jun 2010 21:48:35 +0000 (17:48 -0400)
If we know the expected interface (e.g. :g-interface-info is set),
then we always warned when calling a method on a different
interface. Don't do that, there's no way the expected interface can
know anything about this method.

Signed-off-by: David Zeuthen <davidz@redhat.com>
gio/gdbusproxy.c

index 1629c13..4d658a1 100644 (file)
@@ -2215,8 +2215,10 @@ g_dbus_proxy_call (GDBusProxy          *proxy,
 
   g_object_set_data_full (G_OBJECT (simple), "-gdbus-proxy-method-name", g_strdup (target_method_name), g_free);
 
-  /* Just warn here */
-  expected_method_info = lookup_method_info_or_warn (proxy, target_method_name);
+  /* Warn if method is unexpected (cf. :g-interface-info) */
+  expected_method_info = NULL;
+  if (!was_split)
+    expected_method_info = lookup_method_info_or_warn (proxy, target_method_name);
 
   if (expected_method_info)
     reply_type = _g_dbus_compute_complete_signature (expected_method_info->out_args);