]> Creatis software - clitk.git/blobdiff - vv/vvQDicomSeriesSelector.cxx
[BUG] Use POSIX local before call to GDCM
[clitk.git] / vv / vvQDicomSeriesSelector.cxx
index 51f11a886cf7227b63af99d1a6b119aaec6287f2..48397bc191994b5ba91f0a8d7b4c2249e06f0c1e 100644 (file)
@@ -225,10 +225,10 @@ void vvDicomSeriesSelector::itemDetailsSelectionChanged()
   if (i<mFilenames->size()) {
     if (mDicomDetails[(*mFilenames)[i]] == "") {
       std::ostringstream s;
-      mDicomHeader[mCurrentSerie].GetFile().Print(s);
-
       QString l;
+
 #if GDCM_MAJOR_VERSION == 2
+      mDicomHeader[mCurrentSerie].GetFile().Print(s);
       const gdcm::File& header = mDicomHeader[mCurrentSerie].GetFile();
       gdcm::StringFilter sf;
       sf.SetFile( header );
@@ -255,6 +255,7 @@ void vvDicomSeriesSelector::itemDetailsSelectionChanged()
           }
         }
 #else
+      mDicomHeader[mCurrentSerie]->Print(s);
       gdcm::File * header = mDicomHeader[mCurrentSerie];
       gdcm::DocEntry * e = header->GetFirstEntry();
       while (e) {
@@ -314,6 +315,7 @@ QString vvDicomSeriesSelector::MakeDicomInfo(std::string & s, const gdcm::Reader
 #else
 QString vvDicomSeriesSelector::MakeDicomInfo(std::string & s, gdcm::File *header)
 {
+  setlocale(LC_NUMERIC, "POSIX");
   QString n = QString("%1").arg(mListOfSeriesFilenames[s]->size());
   QString size = QString("%1x%2x%3")
                  .arg(header->GetXSize())
@@ -355,7 +357,7 @@ QString vvDicomSeriesSelector::AddInfo(const gdcm::File *header, QString n, uint
   std::string s = sf.ToString( t );
   return AddInfo(n.toStdString(), s);
 #else
-  return AddInfo(n.toStdString(), header->GetEntryValue(group, elem));
+  return AddInfo(n.toStdString(), const_cast<gdcm::File*>(header)->GetEntryValue(group, elem));
 #endif
 }
 //====================================================================