Replace glib 2.34-or-later g_list_copy_deep

Fixes Win32 build issue, where we're using 2.28
This commit is contained in:
John Ralls 2014-05-08 21:05:05 -04:00
parent c4a18ae2dd
commit 71c31ccf2a

View File

@ -1812,12 +1812,13 @@ kvp_frame_set_gvalue (KvpFrame *frame, const gchar *key, const GValue *value)
kvp_frame_set_value_nc (frame, key, kvp_value_from_gvalue (value));
}
static GValue*
static void
gnc_gvalue_copy (GValue *src, gpointer uData)
{
GList **new_list = (GList**)uData;
GValue *dest = g_value_init (g_slice_new0 (GValue), G_VALUE_TYPE (src));
g_value_copy (src, dest);
return dest;
*new_list = g_list_prepend(*new_list, dest);
}
void
@ -1831,7 +1832,10 @@ gnc_gvalue_free (GValue *val)
static GList*
gnc_value_list_copy (GList *list)
{
return g_list_copy_deep (list, (GCopyFunc)gnc_gvalue_copy, NULL);
GList *new_list = NULL;
g_list_foreach (list, (GFunc)gnc_gvalue_copy, &new_list);
new_list = g_list_reverse (new_list);
return new_list;
}
static void