# HG changeset patch
# User Alain Mazy <am@orthanc.team>
# Date 1727455799 -7200
# Node ID bef0d7030f2d1a501703fcf630581575c7456223
# Parent  882743589c735e71973717d234a1c891dac5bbcd
don't generate an error if the ExtraMainDicomTags is now a default one

diff -r 882743589c73 -r bef0d7030f2d Plugin/Configuration.cpp
--- a/Plugin/Configuration.cpp	Fri Sep 27 17:29:33 2024 +0200
+++ b/Plugin/Configuration.cpp	Fri Sep 27 18:49:59 2024 +0200
@@ -278,6 +278,8 @@
         Orthanc::ResourceType level = Orthanc::StringToResourceType(levels[i].c_str());
 
         const Json::Value& content = configuration[EXTRA_MAIN_DICOM_TAGS][levels[i]];
+        std::set<Orthanc::DicomTag> defaultTags;
+        Orthanc::DicomMap::GetMainDicomTags(defaultTags, level);
 
         if (content.size() > 0)
         {
@@ -286,7 +288,10 @@
             const std::string& tagName = content[t].asString();
             Orthanc::DicomTag tag(0, 0);
             OrthancPlugins::ParseTag(tag, tagName);
-            Orthanc::DicomMap::AddMainDicomTag(tag, level);
+            if (defaultTags.find(tag) == defaultTags.end()) // don't generate an error if the ExtraMainDicomTags is now a default one
+            {
+              Orthanc::DicomMap::AddMainDicomTag(tag, level);
+            }
           }
         }
       }