X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmElValSet.cxx;h=d0f02984265484567960526d6bae1f62c836031d;hb=0457e1e8fc68df6d9e2d1a0fcd0053ecee3c5ad7;hp=ed07d4f1d77c0778fdffdba304e3d6f05af77024;hpb=541ed5b2824ff14630565a474b1406e58b677662;p=gdcm.git diff --git a/src/gdcmElValSet.cxx b/src/gdcmElValSet.cxx index ed07d4f1..d0f02984 100644 --- a/src/gdcmElValSet.cxx +++ b/src/gdcmElValSet.cxx @@ -4,6 +4,18 @@ #include "gdcmUtil.h" #include "gdcmElValSet.h" +gdcmElValSet::~gdcmElValSet() { + for (TagElValueHT::iterator tag = tagHt.begin(); tag != tagHt.end(); ++tag) { + gdcmElValue* EntryToDelete = tag->second; + if ( EntryToDelete ) + delete EntryToDelete; + } + tagHt.clear(); + // Since Add() adds symetrical in both tagHt and NameHt we can + // assume all the pointed gdcmElValues are allready cleaned-up when + // we cleaned tagHt. + NameHt.clear(); +} TagElValueHT & gdcmElValSet::GetTagHt(void) { return tagHt; @@ -267,6 +279,7 @@ void gdcmElValSet::WriteElements(FileType type, FILE * _fp) { } continue; } + tokens.clear(); // Les pixels ne sont pas chargés dans l'element ! if ((gr == 0x7fe0) && (el == 0x0010) ) break;