Index: xfconfd/xfconf-backend-perchannel-xml.c =================================================================== --- xfconfd/xfconf-backend-perchannel-xml.c (revision 27616) +++ xfconfd/xfconf-backend-perchannel-xml.c (working copy) @@ -428,33 +428,16 @@ return FALSE; } - if(property_base[0] && property_base[1]) { - /* it's not "" or "/" */ - cur = xfconf_proptree_lookup_node(props_tree, property_base); - if(!cur) { - if(error) { - g_set_error(error, XFCONF_ERROR, XFCONF_ERROR_PROPERTY_NOT_FOUND, - _("Property \"%s\" does not exist on channel \"%s\""), - property_base, channel); - } - return FALSE; - } - - g_strlcpy(cur_path, property_base, sizeof(cur_path)); + /* need to hit each child directly to avoid having a + * double root property at the beginning of each prop */ + for(cur = g_node_first_child(props_tree); + cur; + cur = g_node_next_sibling(cur)) + { + cur_path[0] = 0; xfconf_proptree_node_to_hash_table(cur, properties, cur_path); - } else { - /* need to hit each child directly to avoid having a - * double '/' at the beginning of each prop */ - for(cur = g_node_first_child(props_tree); - cur; - cur = g_node_next_sibling(cur)) - { - cur_path[0] = 0; - xfconf_proptree_node_to_hash_table(cur, properties, cur_path); - } } - return TRUE; }