From e1462102e7265bd05d86670d5d1c6d117ba0bf0e Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Tue, 15 Oct 2024 08:26:13 +0800 Subject: [PATCH] [qofinstance.cpp] GValue on stack instead of heap --- libgnucash/engine/qofinstance.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libgnucash/engine/qofinstance.cpp b/libgnucash/engine/qofinstance.cpp index 5ed505932da..470b47663a1 100644 --- a/libgnucash/engine/qofinstance.cpp +++ b/libgnucash/engine/qofinstance.cpp @@ -1340,17 +1340,16 @@ struct wrap_param static void wrap_gvalue_function (const char* key, KvpValue *val, wrap_param & param) { - GValue *gv; - gv = g_slice_new0 (GValue); + GValue gv; if (val->get_type() != KvpValue::Type::FRAME) - gvalue_from_kvp_value(val, gv); + gvalue_from_kvp_value(val, &gv); else { - g_value_init (gv, G_TYPE_STRING); - g_value_set_string (gv, nullptr); + g_value_init (&gv, G_TYPE_STRING); + g_value_set_string (&gv, nullptr); } - param.proc(key, gv, param.user_data); - g_slice_free (GValue, gv); + param.proc(key, &gv, param.user_data); + g_value_unset (&gv); } void