Salome HOME
PAL16774,PAL16631(SALOME crash after a mesh computation that failed because of lack...
authoreap <eap@opencascade.com>
Tue, 11 Sep 2007 06:12:36 +0000 (06:12 +0000)
committereap <eap@opencascade.com>
Tue, 11 Sep 2007 06:12:36 +0000 (06:12 +0000)
    Precise error message

src/SMESH/SMESH_subMesh.cxx

index e766df8ef2fe79bb2a510792ddff1bf746c0b75e..d490e6bbe7b5412cc55ede5b578131afd8214d95 100644 (file)
@@ -1335,7 +1335,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
             _computeError = algo->GetComputeError();
         }
         catch ( std::bad_alloc& exc ) {
-          printf("std::bad_alloc\n");
+          printf("std::bad_alloc thrown inside algo->Compute()\n");
           if ( _computeError ) {
             _computeError->myName = COMPERR_MEMORY_PB;
             //_computeError->myComment = exc.what();
@@ -1344,7 +1344,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
           throw exc;
         }
         catch ( Standard_OutOfMemory& exc ) {
-          printf("Standard_OutOfMemory\n");
+          printf("Standard_OutOfMemory thrown inside algo->Compute()\n");
           if ( _computeError ) {
             _computeError->myName = COMPERR_MEMORY_PB;
             //_computeError->myComment = exc.what();
@@ -1393,7 +1393,6 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         if (ret)
         {
           _computeError.reset();
-          //UpdateDependantsState( SUBMESH_COMPUTED ); // send event SUBMESH_COMPUTED
         }
         UpdateDependantsState( SUBMESH_COMPUTED ); // send event SUBMESH_COMPUTED
       }
@@ -1611,15 +1610,6 @@ bool SMESH_subMesh::CheckComputeError(SMESH_Algo* theAlgo, const TopoDS_Shape& t
       noErrors = false;
     }
   }
-  if ( !theAlgo->OnlyUnaryInput() && !theShape.IsNull() &&
-       theShape.ShapeType() == TopAbs_COMPOUND )
-  {
-    for (TopoDS_Iterator subIt( theShape ); subIt.More(); subIt.Next()) {
-      SMESH_subMesh* sm = _father->GetSubMesh( subIt.Value() );
-      if ( sm != this && !sm->CheckComputeError( theAlgo ))
-        noErrors = false;
-    }
-  }
   return noErrors;
 }