diff options
author | Colin Walters <walters@verbum.org> | 2005-07-05 16:39:56 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2005-07-05 16:39:56 +0000 |
commit | 42c4a46d665c9ddead71eeae5ac85a0fb994f684 (patch) | |
tree | 8fd8d65f885c2b2b398416e261724a84b03aba09 | |
parent | 22e9820814bdb0ba59c0c6bc0f40dfba660df13b (diff) |
2005-07-05 Colin Walters <walters@verbum.org>
* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
Remove value refcount leak, original patch from Jorn Baayen
<jorn@openedhand.com>. Also remove useless extra value in favor
of prepending to value array directly.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | glib/dbus-gproxy.c | 7 |
2 files changed, 10 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2005-07-05 Colin Walters <walters@verbum.org> + + * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): + Remove value refcount leak, original patch from Jorn Baayen + <jorn@openedhand.com>. Also remove useless extra value in favor + of prepending to value array directly. + 2005-07-02 Colin Walters <walters@verbum.org> * 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); |