summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2005-07-05 16:39:56 +0000
committerColin Walters <walters@verbum.org>2005-07-05 16:39:56 +0000
commit42c4a46d665c9ddead71eeae5ac85a0fb994f684 (patch)
tree8fd8d65f885c2b2b398416e261724a84b03aba09
parent22e9820814bdb0ba59c0c6bc0f40dfba660df13b (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--ChangeLog7
-rw-r--r--glib/dbus-gproxy.c7
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 <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);