From 42c4a46d665c9ddead71eeae5ac85a0fb994f684 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 5 Jul 2005 16:39:56 +0000 Subject: 2005-07-05 Colin Walters * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): Remove value refcount leak, original patch from Jorn Baayen . Also remove useless extra value in favor of prepending to value array directly. --- ChangeLog | 7 +++++++ glib/dbus-gproxy.c | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18bfe63a..4bd49240 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-07-05 Colin Walters + + * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): + Remove value refcount leak, original patch from Jorn Baayen + . Also remove useless extra value in favor + of prepending to value array directly. + 2005-07-02 Colin Walters * glib/dbus-gmain.c (_dbus_gmain_test): Fix test. diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c index 91cda82f..1a7292de 100644 --- a/glib/dbus-gproxy.c +++ b/glib/dbus-gproxy.c @@ -1404,7 +1404,6 @@ marshal_dbus_message_to_g_marshaller (GClosure *closure, */ #define MAX_SIGNATURE_ARGS 20 GValueArray *value_array; - GValue value = {0, }; GSignalCMarshaller c_marshaller; DBusGProxy *proxy; DBusMessage *message; @@ -1439,9 +1438,9 @@ marshal_dbus_message_to_g_marshaller (GClosure *closure, if (value_array == NULL) return; - g_value_init (&value, G_TYPE_FROM_INSTANCE (proxy)); - g_value_set_instance (&value, proxy); - g_value_array_prepend (value_array, &value); + g_value_array_prepend (value_array, NULL); + g_value_init (g_value_array_get_nth (value_array, 0), G_TYPE_FROM_INSTANCE (proxy)); + g_value_set_instance (g_value_array_get_nth (value_array, 0), proxy); (* c_marshaller) (closure, return_value, value_array->n_values, value_array->values, invocation_hint, marshal_data); -- cgit