Salome HOME
Fix for the issue: 23161: EDF 11207 - SIGSEGV using ExtractCellType python method. V7_7_0b1
authorrnv <rnv@opencascade.com>
Fri, 18 Sep 2015 08:11:00 +0000 (11:11 +0300)
committerrnv <rnv@opencascade.com>
Fri, 18 Sep 2015 08:11:00 +0000 (11:11 +0300)
src/Plugins/MEDReader/IO/vtkExtractCellType.cxx

index 48d0af46f7285f003f1fc682a0ec86dc918bd349..d85af92c9f6be00878fcf9577de10e48483c02d3 100644 (file)
@@ -210,14 +210,29 @@ const ExtractCellTypeStatus& vtkExtractCellType::vtkExtractCellTypeInternal::get
 
 bool vtkExtractCellType::vtkExtractCellTypeInternal::getStatusOfEntryStr(const char *entry) const
 {
-  const ExtractCellTypeStatus& elt(getEntry(entry));
-  return elt.getStatus();
+  try 
+    {
+      const ExtractCellTypeStatus& elt(getEntry(entry));
+      return elt.getStatus();
+    }  
+  catch (INTERP_KERNEL::Exception e)
+    {      
+      //std::cerr << vtkDebugMacro"Exception has been thrown in vtkExtractCellType::vtkExtractCellTypeInternal::getStatusOfEntryStr : " << e.what() << std::endl;
+      return false;
+    }
 }
 
 void vtkExtractCellType::vtkExtractCellTypeInternal::setStatusOfEntryStr(const char *entry, bool status) const
 {
-  const ExtractCellTypeStatus& elt(getEntry(entry));
-  elt.setStatus(status);
+  try 
+    {
+      const ExtractCellTypeStatus& elt(getEntry(entry));
+      elt.setStatus(status);
+    }
+  catch (INTERP_KERNEL::Exception e)
+    {      
+      //std::cerr << "Exception has been thrown in vtkExtractCellType::vtkExtractCellTypeInternal::setStatusOfEntryStr : " << e.what() << std::endl;
+    }
 }
 
 void vtkExtractCellType::vtkExtractCellTypeInternal::printMySelf(std::ostream& os) const