Salome HOME
Merge from V7_3_BR branch 18/12/2013
[modules/smesh.git] / src / SMESH / SMESH_Mesh.cxx
index c45fefd88bb9a258456831bb3a211377fab928d6..4c1383356d4adc41e1f8e0f56bd34e251d8fa287 100644 (file)
@@ -876,7 +876,7 @@ SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const int anHypId) const
 {
   StudyContextStruct *sc = _gen->GetStudyContext(_studyId);
   if (sc->mapHypothesis.find(anHypId) == sc->mapHypothesis.end())
-    return false;
+    return NULL;
 
   SMESH_Hypothesis *anHyp = sc->mapHypothesis[anHypId];
   return anHyp;
@@ -1323,7 +1323,7 @@ void SMESH_Mesh::ExportSAUV(const char *file,
   std::string medfilename(file);
   medfilename += ".med";
   std::string cmd;
-#ifdef WNT
+#ifdef WIN32
   cmd = "%PYTHONBIN% ";
 #else
   cmd = "python ";
@@ -1333,7 +1333,7 @@ void SMESH_Mesh::ExportSAUV(const char *file,
   cmd += "\"";
   system(cmd.c_str());
   ExportMED(medfilename.c_str(), theMeshName, theAutoGroups, 1);
-#ifdef WNT
+#ifdef WIN32
   cmd = "%PYTHONBIN% ";
 #else
   cmd = "python ";
@@ -1342,7 +1342,7 @@ void SMESH_Mesh::ExportSAUV(const char *file,
   cmd += "from medutilities import convert ; convert(r'" + medfilename + "', 'MED', 'GIBI', 1, r'" + file + "')";
   cmd += "\"";
   system(cmd.c_str());
-#ifdef WNT
+#ifdef WIN32
   cmd = "%PYTHONBIN% ";
 #else
   cmd = "python ";
@@ -1486,7 +1486,17 @@ double SMESH_Mesh::GetComputeProgress() const
           algoDoneCost += smToCompute[i]->GetComputeCost();
         currentSubIds.Add( smToCompute[i]->GetId() );
       }
-      double rate = algo->GetProgress();
+      double rate = 0;
+      try
+      {
+        OCC_CATCH_SIGNALS;
+        rate = algo->GetProgress();
+      }
+      catch (...) {
+#ifdef _DEBUG_
+        cerr << "Exception in " << algo->GetName() << "::GetProgress()" << endl;
+#endif
+      }
       if ( 0. < rate && rate < 1.001 )
       {
         computedCost += rate * ( algoDoneCost + algoNotDoneCost );