Author: jannis
Date: 2008-07-17 19:31:41 +0000 (Thu, 17 Jul 2008)
New Revision: 27332

Modified:
   xfconf/trunk/xfconfd/xfconf-backend-perchannel-xml.c
Log:
xfconfd/xfconf-backend-perchannel-xml.c: Fix crash when removing the
last property of a channel. The check whether we are at the root node
(the one with prop->name == "/") was done after accessing the parent
of the current node (which is NULL for the root node).

Modified: xfconf/trunk/xfconfd/xfconf-backend-perchannel-xml.c
===================================================================
--- xfconf/trunk/xfconfd/xfconf-backend-perchannel-xml.c        2008-07-17 
18:19:09 UTC (rev 27331)
+++ xfconf/trunk/xfconfd/xfconf-backend-perchannel-xml.c        2008-07-17 
19:31:41 UTC (rev 27332)
@@ -712,11 +712,11 @@
                 g_node_unlink(node);
                 xfconf_proptree_destroy(node);
 
-                /* remove parents without values until we find a parent with
-                 * a value or any children */
+                /* remove parents without values until we find the root node 
or 
+                 * a parent with a value or any children */
                 while(parent) {
                     prop = parent->data;
-                    if(!G_IS_VALUE(&prop->value) && !parent->children) {
+                    if(!G_IS_VALUE(&prop->value) && !parent->children && 
strcmp(prop->name, "/") != 0) {
                         GNode *tmp = parent;
                         parent = parent->parent;
 
@@ -724,11 +724,6 @@
 
                         g_node_unlink(tmp);
                         xfconf_proptree_destroy(tmp);
-
-                        /* but don't remove the root node */
-                        prop = parent->data;
-                        if(!strcmp("/", prop->name))
-                            parent = NULL;
                     } else
                         parent = NULL;
                 }

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to