Salome HOME
Correction of icon
[modules/shaper.git] / src / Config / Config_WidgetReader.cpp
index e4125b3e688049f15812d0e01188d0c4cb74def5..c8ea412d88f56bf539534ffa743644c20b931b02 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 /*
  * Config_WidgetReader.cpp
  *
@@ -54,7 +56,9 @@ void Config_WidgetReader::processNode(xmlNodePtr theNode)
 bool Config_WidgetReader::processChildren(xmlNodePtr theNode)
 {
   //Read all nodes recursively, source and validator nodes have no children
-  return !isNode(theNode, NODE_VALIDATOR, NODE_SOURCE, NULL);
+  return !isNode(theNode, NODE_VALIDATOR,
+                          NODE_SELFILTER,
+                          NODE_SOURCE, NULL);
 }
 
 void Config_WidgetReader::resolveSourceNodes(xmlNodePtr theNode)
@@ -65,17 +69,16 @@ void Config_WidgetReader::resolveSourceNodes(xmlNodePtr theNode)
     if (isNode(aNode, NODE_SOURCE, NULL)) {
       Config_XMLReader aSourceReader = Config_XMLReader(getProperty(aNode, SOURCE_FILE));
       xmlNodePtr aSourceRoot = aSourceReader.findRoot();
-      if (!aSourceRoot) {
-        continue;
-      }
-      xmlNodePtr aSourceNode = xmlFirstElementChild(aSourceRoot);
-      xmlNodePtr aTargetNode = xmlDocCopyNodeList(aNode->doc, aSourceNode);
-      while (aTargetNode != NULL) {
-        xmlNodePtr aNextNode = xmlNextElementSibling(aTargetNode);
-        xmlAddPrevSibling(aNode, aTargetNode);
-        aTargetNode = aNextNode;
+      if (aSourceRoot) {
+        xmlNodePtr aSourceNode = xmlFirstElementChild(aSourceRoot);
+        xmlNodePtr aTargetNode = xmlDocCopyNodeList(aNode->doc, aSourceNode);
+        while (aTargetNode != NULL) {
+          xmlNodePtr aNextNode = xmlNextElementSibling(aTargetNode);
+          xmlAddPrevSibling(aNode, aTargetNode);
+          aTargetNode = aNextNode;
+        }
+        aSourceNodes.push_back(aNode);
       }
-      aSourceNodes.push_back(aNode);
     }
     aNode = xmlNextElementSibling(aNode);
   }