diff options
| -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); | 
