gnucash trunk: Replace glib 2.34-or-later g_list_copy_deep
John Ralls
jralls at code.gnucash.org
Thu May 8 21:06:54 EDT 2014
Updated via https://github.com/Gnucash/gnucash/commit/71c31ccf (commit)
from https://github.com/Gnucash/gnucash/commit/c4a18ae2 (commit)
commit 71c31ccf2af838e61dfd0d7412879ef94425b777
Author: John Ralls <jralls at ceridwen.us>
Date: Thu May 8 21:05:05 2014 -0400
Replace glib 2.34-or-later g_list_copy_deep
Fixes Win32 build issue, where we're using 2.28
diff --git a/src/libqof/qof/kvp_frame.cpp b/src/libqof/qof/kvp_frame.cpp
index 881d029..299eee5 100644
--- a/src/libqof/qof/kvp_frame.cpp
+++ b/src/libqof/qof/kvp_frame.cpp
@@ -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
Summary of changes:
src/libqof/qof/kvp_frame.cpp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
More information about the gnucash-changes
mailing list