From 9dfe223fc7303cd1a2eb7cbf4088dea9791667de Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Sun, 25 Jun 2023 00:55:27 +0800 Subject: [PATCH] [gsettings.cpp] g_settings_schema_unref after g_object_get g_object_get may be reffing the schema which prevents it freeing. --- libgnucash/app-utils/gnc-gsettings.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libgnucash/app-utils/gnc-gsettings.cpp b/libgnucash/app-utils/gnc-gsettings.cpp index 864b2c6a31..df26a0576d 100644 --- a/libgnucash/app-utils/gnc-gsettings.cpp +++ b/libgnucash/app-utils/gnc-gsettings.cpp @@ -67,6 +67,7 @@ static bool gnc_gsettings_is_valid_key(GSettings *settings, const gchar *key) auto keys = g_settings_schema_list_keys (schema); auto found = (keys && g_strv_contains(keys, key)); g_strfreev (keys); + g_settings_schema_unref (schema); return found; } @@ -87,6 +88,7 @@ static GSettings * gnc_gsettings_get_settings_obj (const gchar *schema_str) g_free(full_name); LEAVE(""); + g_settings_schema_unref (schema); return gset; } @@ -472,6 +474,7 @@ gnc_gsettings_reset_schema (const gchar *schema_str) } g_object_unref (gs_obj); + g_settings_schema_unref (schema); g_strfreev (keys); }