update_engine: Register the default marshaller before adding a signal.
dbus-glib requires to register a marshaller for the received signal
before connecting to it. This patch registers the default marshaller
before calling dbus_g_proxy_add_signal().
BUG=chromium:433103
TEST=`update_engine --foreground --logtostderr` doesn't show the warning about PropertyChanged.
Change-Id: I247d46d2ee603b145d8b6a65bb0b12340654c044
Reviewed-on: https://chromium-review.googlesource.com/229665
Tested-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/real_dbus_wrapper.h b/real_dbus_wrapper.h
index f05116c..1535bef 100644
--- a/real_dbus_wrapper.h
+++ b/real_dbus_wrapper.h
@@ -70,6 +70,8 @@
const char* signal_name,
GType type1,
GType type2) override {
+ dbus_g_object_register_marshaller(
+ g_cclosure_marshal_generic, G_TYPE_NONE, type1, type2, G_TYPE_INVALID);
dbus_g_proxy_add_signal(proxy, signal_name, type1, type2, G_TYPE_INVALID);
}