# HG changeset patch # User Sebastien Jodogne # Date 1623312594 -7200 # Node ID 177ad026d2194ca55fbdfb14d399d4e700bf45e9 # Parent fcd2dc7c8f311ae1ad5c1878d1521549c5fdc181 backward compatibility with old DicomModification serialization from Orthanc <= 1.6.1 diff -r fcd2dc7c8f31 -r 177ad026d219 OrthancFramework/Sources/DicomParsing/DicomModification.cpp --- a/OrthancFramework/Sources/DicomParsing/DicomModification.cpp Wed Jun 09 17:24:44 2021 +0200 +++ b/OrthancFramework/Sources/DicomParsing/DicomModification.cpp Thu Jun 10 10:09:54 2021 +0200 @@ -1453,11 +1453,26 @@ allowManualIdentifiers_ = SerializationToolbox::ReadBoolean(serialized, ALLOW_MANUAL_IDENTIFIERS); keepStudyInstanceUid_ = SerializationToolbox::ReadBoolean(serialized, KEEP_STUDY_INSTANCE_UID); keepSeriesInstanceUid_ = SerializationToolbox::ReadBoolean(serialized, KEEP_SERIES_INSTANCE_UID); - keepSopInstanceUid_ = SerializationToolbox::ReadBoolean(serialized, KEEP_SOP_INSTANCE_UID); updateReferencedRelationships_ = SerializationToolbox::ReadBoolean (serialized, UPDATE_REFERENCED_RELATIONSHIPS); isAnonymization_ = SerializationToolbox::ReadBoolean(serialized, IS_ANONYMIZATION); + if (serialized.isMember(KEEP_SOP_INSTANCE_UID)) + { + keepSopInstanceUid_ = SerializationToolbox::ReadBoolean(serialized, KEEP_SOP_INSTANCE_UID); + } + else + { + /** + * Compatibility with jobs serialized using Orthanc between + * 1.5.0 and 1.6.1. This compatibility was broken between 1.7.0 + * and 1.9.3: Indeed, an exception was thrown in "ReadBoolean()" + * if "KEEP_SOP_INSTANCE_UID" was absent, because of changeset: + * https://hg.orthanc-server.com/orthanc/rev/3860 + **/ + keepSopInstanceUid_ = false; + } + if (serialized.isMember(PRIVATE_CREATOR)) { privateCreator_ = SerializationToolbox::ReadString(serialized, PRIVATE_CREATOR);