From e74d729f1721552003093b04b3adbbec0ba7da08 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 5 Jan 2012 13:36:03 -0500 Subject: [PATCH] libnm-glib: fix _nm_string_array_demarshal dbus-glib returns 'as' results as G_TYPE_STRV (NULL-terminated char**), not DBUS_TYPE_G_ARRAY_OF_STRING (GPtrArray of char*). --- libnm-glib/nm-types.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libnm-glib/nm-types.c b/libnm-glib/nm-types.c index 6d76787d0c..85981133aa 100644 --- a/libnm-glib/nm-types.c +++ b/libnm-glib/nm-types.c @@ -172,9 +172,9 @@ nm_string_array_get_type (void) gboolean _nm_string_array_demarshal (GValue *value, GPtrArray **dest) { - GPtrArray *array; + char **array; - if (!G_VALUE_HOLDS (value, DBUS_TYPE_G_ARRAY_OF_STRING)) + if (!G_VALUE_HOLDS (value, G_TYPE_STRV)) return FALSE; if (*dest) { @@ -182,13 +182,13 @@ _nm_string_array_demarshal (GValue *value, GPtrArray **dest) *dest = NULL; } - array = (GPtrArray *) g_value_get_boxed (value); - if (array && array->len) { + array = (char **) g_value_get_boxed (value); + if (array && array[0]) { int i; - *dest = g_ptr_array_sized_new (array->len); - for (i = 0; i < array->len; i++) - g_ptr_array_add (*dest, g_strdup (g_ptr_array_index (array, i))); + *dest = g_ptr_array_new (); + for (i = 0; array[i]; i++) + g_ptr_array_add (*dest, g_strdup (array[i])); } return TRUE;