Преглед на файлове

Fix for possible null DcmObject

Didn't happen with older dcmtk (3.6), but appears to happen
with newer versions so check for it.
Steve Pieper преди 13 години
родител
ревизия
7c4be0fb51
променени са 1 файла, в които са добавени 9 реда и са изтрити 6 реда
  1. 9 6
      Libs/DICOM/Core/ctkDICOMDatabase.cpp

+ 9 - 6
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -468,12 +468,15 @@ void ctkDICOMDatabase::loadFileHeader (QString fileName)
       while (dataset->nextObject(stack, true) == EC_Normal)
         {
           DcmObject *dO = stack.top();
-          QString tag = QString("%1,%2").arg(
-                dO->getGTag(),4,16,QLatin1Char('0')).arg(
-                dO->getETag(),4,16,QLatin1Char('0'));
-          std::ostringstream s;
-          dO->print(s);
-          d->LoadedHeader[tag] = QString(s.str().c_str());
+          if (dO)
+            {
+              QString tag = QString("%1,%2").arg(
+                    dO->getGTag(),4,16,QLatin1Char('0')).arg(
+                    dO->getETag(),4,16,QLatin1Char('0'));
+              std::ostringstream s;
+              dO->print(s);
+              d->LoadedHeader[tag] = QString(s.str().c_str());
+            }
         }
     }
   return;