summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/glibext/configuration.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/glibext/configuration.c b/src/glibext/configuration.c
index 8746bfd..b4eb784 100644
--- a/src/glibext/configuration.c
+++ b/src/glibext/configuration.c
@@ -655,7 +655,9 @@ ConfigParamState g_config_param_get_state(GCfgParam *param)
if (param->def_empty || param->cur_empty)
{
param->cached_state = (param->def_empty && param->cur_empty ? CPS_DEFAULT : CPS_CHANGED);
- param->cached_state |= CPS_EMPTY;
+
+ if (param->cur_empty)
+ param->cached_state |= CPS_EMPTY;
goto gcpgs_recached;
@@ -1131,7 +1133,7 @@ static void g_config_group_load(GCfgGroup *group, GGenConfig *config, xmlXPathCo
{
asprintf(&key, "%s.%s", group->root, NODE_FROM_PATH_OBJ(xpathObj, i)->name);
- param = g_config_param_new(key, CPT_INTEGER, -1);
+ param = g_config_param_new_empty(key, group->type);
_g_generic_config_add_param(config, param, false);
free(key);