From 5b8cf51087564eebc607c01dd88a7419a491a9d7 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Wed, 20 Nov 2002 12:15:49 +0000 Subject: [PATCH] some fixes, suggestion by thaytan to make _get and _set work similar Original commit message from CVS: some fixes, suggestion by thaytan to make _get and _set work similar --- gst-libs/gst/gconf/gconf.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/gst-libs/gst/gconf/gconf.c b/gst-libs/gst/gconf/gconf.c index c3b0d4c..3957403 100644 --- a/gst-libs/gst/gconf/gconf.c +++ b/gst-libs/gst/gconf/gconf.c @@ -62,23 +62,34 @@ gst_gconf_get_string (const gchar *key) { GError *error = NULL; gchar *value = NULL; - gchar *full_key = g_strdup_printf ("%s/%s", GST_GCONF_DIR, key); + gchar *full_key = g_strdup_printf ("%s/%s", GST_GCONF_DIR, key); value = gconf_client_get_string (gst_gconf_get_client (), full_key, &error); g_free (full_key); - if (value) - return value; - else - return NULL; - // this is a good idea: return g_strdup (default_val); + if (error) + { + g_warning ("gst_gconf_get_string: error: %s\n", error->message); + g_error_free (error); + } + /* FIXME: decide if we want to strdup this value; if we do, check for NULL */ + return value; } void gst_gconf_set_string (const gchar *key, const gchar *value) { - gconf_client_set_string (gst_gconf_get_client (), key, value, NULL); + GError *error = NULL; + gchar *full_key = g_strdup_printf ("%s/%s", GST_GCONF_DIR, key); + + gconf_client_set_string (gst_gconf_get_client (), full_key, value, &error); + if (error) + { + g_warning ("gst_gconf_set_string: error: %s\n", error->message); + g_error_free (error); + } + g_free (full_key); } /* this function renders the given description to a bin, -- 2.7.4