]> SALOME platform Git repositories - modules/paravis.git/commitdiff
Salome HOME
Protect against load of empty MED file.
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 6 May 2016 12:51:59 +0000 (14:51 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 6 May 2016 12:51:59 +0000 (14:51 +0200)
src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderFieldsWidget.cxx
src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderTimesFlagsWidget.cxx

index f06f0616e7e3deb6d5aa659fcfeec1db1da3a085..c6f74bbb38d7877d811ef7f6a2019e5ce2966b88 100644 (file)
@@ -73,6 +73,9 @@ void pqMEDReaderFieldsWidget::loadTreeWidgetItems()
   vtkStringArray* names =
     vtkStringArray::SafeDownCast(tree->GetVertexData()->GetAbstractArray("Names"));
 
+  if(!names)// In case of error right at the begining of loading process (empty MED file)
+    return ;
+
   vtkIdType root = tree->GetRoot();
   vtkIdType fst = tree->GetChild(root, 0); // FieldsStatusTree
 
index 2aaf97f5ec2ad2b3b0aefce974f5d26011bcecf8..60e57e14ff12c22fd8d75e37840e0a325a0efb66 100644 (file)
@@ -77,6 +77,9 @@ pqMEDReaderTimesFlagsWidget::pqMEDReaderTimesFlagsWidget(
   this->addPropertyLink(this, "timeSteps", SIGNAL(timeStepsChanged()),
                         smproxy, smproperty);
 
+  if(!this->TimesVectWidget) // In case of error right at the begining of loading process (empty MED file)
+    return ;
+
   const QMap<QString, VectBoolItem*>& items(this->TimesVectWidget->getItems());
   QMap<QString, VectBoolItem*>::const_iterator it;
   for (it = items.begin(); it != items.end(); it++)
@@ -103,6 +106,8 @@ QList< QList< QVariant> > pqMEDReaderTimesFlagsWidget::getTimeSteps() const
   // Put together a TimeStep list, using ItemMap
   QList< QList< QVariant> > ret;
   QList< QVariant > timeStep;
+  if(!this->TimesVectWidget) // In case of error right at the begining of loading process (empty MED file)
+    return ret;
   const QMap<QString, VectBoolItem*>& items(this->TimesVectWidget->getItems());
   QMap<QString, VectBoolItem*>::const_iterator it;
   for (it = items.begin(); it != items.end(); it++)
@@ -165,6 +170,9 @@ void pqMEDReaderTimesFlagsWidget::CreateTimesVectWidget()
     delete this->TimesVectWidget;
     }
 
+  if(!graph)
+    return ;// In case of error right at the begining of loading process (empty MED file)
+
   // (Re)cretate widget
   this->TimesVectWidget = new VectBoolWidget(this,
     pqMedReaderGraphUtils::getMaxNumberOfTS(graph));