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