Index: XmlTools2/trunk/multidimvar.cpp
===================================================================
--- XmlTools2/trunk/multidimvar.cpp	(revision 909)
+++ XmlTools2/trunk/multidimvar.cpp	(revision 910)
@@ -57,5 +57,5 @@
     }
 
-    result += QString::number(this->multiDimValue.size()-1,'G',9); // last one does not have a space at the end
+    result += QString::number(this->multiDimValue[this->multiDimValue.size()-1],'G',9); // last one does not have a space at the end
 
     return result;
Index: XmlTools2/trunk/xmlpatch.cpp
===================================================================
--- XmlTools2/trunk/xmlpatch.cpp	(revision 909)
+++ XmlTools2/trunk/xmlpatch.cpp	(revision 910)
@@ -8,8 +8,8 @@
 
     if(forceTargetFilesWildcard!=""){
-        std::cout << "User forced patch in the target file(s): " << this->forceTargetFilesWildcard.toLatin1().constData() << std::endl;
-    }
-
-    if(this->patchFilesToProcess.size()==0){
+        std::cout << "User forced patch in the target file(s): " << forceTargetFilesWildcard.toLatin1().constData() << std::endl;
+    }
+
+    if(this->patchFilesToProcess.isEmpty()){
         UtilXmlTools::displayErrorMessage("Loading patch files","No .patch or .oni-patch files were found for the wildcard: "+patchFilesWildcard);
     }
@@ -47,11 +47,14 @@
 
     QStringList filesToProcess;
-
-    filesToProcess=UtilXmlTools::getAllXmlFilesByWildcard(filesWildcard);
-
     pugi::xml_node nodeToInsertion;
     pugi::xml_document newNode;
     pugi::xml_parse_result result;
 
+    filesToProcess=UtilXmlTools::getAllXmlFilesByWildcard(filesWildcard);
+
+    if(filesToProcess.isEmpty()){
+        UtilXmlTools::displayErrorMessage("@ADD_INSIDE_NODE","No XML files were found for the wildcard: "+filesWildcard);
+    }
+
     result=newNode.load(xmlString.toLatin1().constData()); // load xml to insert
 
@@ -95,8 +98,11 @@
     QStringList filesToProcess;
 
+    pugi::xml_node nodeToDeletion;
+
     filesToProcess=UtilXmlTools::getAllXmlFilesByWildcard(filesWildcard);
 
-    pugi::xml_node nodeToDeletion;
-    pugi::xml_parse_result result;
+    if(filesToProcess.isEmpty()){
+        UtilXmlTools::displayErrorMessage("@REMOVE_NODE","No XML files were found for the wildcard: "+filesWildcard);
+    }
 
     // Process all XmlFiles
@@ -184,4 +190,8 @@
     filesToProcess=UtilXmlTools::getAllXmlFilesByWildcard(filesWildcard);
 
+    if(filesToProcess.isEmpty()){
+        UtilXmlTools::displayErrorMessage("@CUSTOM_CODE","No XML files were found for the wildcard: "+filesWildcard);
+    }
+
     rexmlfile.open(QFile::ReadOnly | QFile::Text);
     jsxmlfile.open(QFile::ReadOnly | QFile::Text);
@@ -277,6 +287,5 @@
 void XmlPatch::checkAndProcessValidCommands(QTextStream &fileStream){
 
-    QString line;
-    QString filesWildcard;
+    QString line, filesWildcard;
     QString xmlToInsert, command, jsCode;
     XmlFilter filters;
@@ -294,9 +303,10 @@
             filters.setAttributeName(getPatchParameterValue(line,"AttributeName"));
             filters.setAttributeValue(getPatchParameterValue(line,"AttributeValue"));
-            if(this->forceTargetFilesWildcard==""){
+
+            if(this->forceTargetFilesWildcard!=""){
+                filesWildcard=this->forceTargetFilesWildcard;
+            }
+            else{
                 filesWildcard=getPatchParameterValue(line,"Files");
-            }
-            else{
-                filesWildcard=this->forceTargetFilesWildcard;
             }
 
@@ -327,9 +337,10 @@
             filters.setAttributeName(getPatchParameterValue(line,"AttributeName"));
             filters.setAttributeValue(getPatchParameterValue(line,"AttributeValue"));
-            if(this->forceTargetFilesWildcard==""){
+
+            if(this->forceTargetFilesWildcard!=""){
+                filesWildcard=this->forceTargetFilesWildcard;
+            }
+            else{
                 filesWildcard=getPatchParameterValue(line,"Files");
-            }
-            else{
-                filesWildcard=this->forceTargetFilesWildcard;
             }
 
@@ -354,9 +365,9 @@
         else if(line.startsWith("@CUSTOM_CODE")){
 
-            if(this->forceTargetFilesWildcard==""){
+            if(this->forceTargetFilesWildcard!=""){
+                filesWildcard=this->forceTargetFilesWildcard;
+            }
+            else{
                 filesWildcard=getPatchParameterValue(line,"Files");
-            }
-            else{
-                filesWildcard=this->forceTargetFilesWildcard;
             }
 
Index: XmlTools2/trunk/xmltools.cpp
===================================================================
--- XmlTools2/trunk/xmltools.cpp	(revision 909)
+++ XmlTools2/trunk/xmltools.cpp	(revision 910)
@@ -7,5 +7,5 @@
     this->backupsEnabled=!noBackups;
 
-    if(this->filesToProcess.size()==0){
+    if(this->filesToProcess.isEmpty()){
         UtilXmlTools::displayErrorMessage("Loading xml files","No XML files were found for the wildcard: "+filesWildcard);
     }
@@ -67,5 +67,5 @@
                 for(int m=0; m<valuesToRemoveList.size(); m++){
                     if(currValuesList[k]==valuesToRemoveList[m]){
-                        currValuesList[k]=""; // remove it
+                        currValuesList[k]=""; // flag to deletion
                         elementChanged=true;
                     }
@@ -74,4 +74,5 @@
 
             if(elementChanged){ // If curr element changed update the XML
+                currValuesList.removeAll(""); // remove all files flagged to deletion
                 elements[j].text()=currValuesList.join(' ').toLatin1().constData();
                 elementChanged=false;
