By passing dbus_g_proxy_call an incorrect signature, we can cause the function to fail but not provide any error message (if G_DISABLE_ASSERT is defined). As smvc pointed out, this can also become a runtime error when a telepathy CM changes signature, but the client hasn't been updated. As such, g_assert isn't an appropriate action. See http://bugs.debian.org/541632 for more information. This patch causes it to set an error when demarshalling a type that it's not expecting. Instead of a NULL error, one instead sees something like the following when the method returns a path object but the client expected a string: "modem Create() failed: Expected type gchararray, got type code 'o'"
Created attachment 29055 [details] [review] fix for assertion that shouldn't be triggered
Seems this is actively causing bugs which would be much easier to debug when this bug gets fixed: https://bugzilla.gnome.org/show_bug.cgi?id=598339
Applied; thank you for the patch!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.