Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0022172: [CEA 790] create the groups corresponding to domains
[modules/smesh.git]
/
src
/
SMESH
/
SMESH_subMesh.cxx
diff --git
a/src/SMESH/SMESH_subMesh.cxx
b/src/SMESH/SMESH_subMesh.cxx
index 19df51879a632adabcfc1260007c7178aed8b9e1..9d0c236e08454755a9b9f6b596e5f5adc2e14472 100644
(file)
--- a/
src/SMESH/SMESH_subMesh.cxx
+++ b/
src/SMESH/SMESH_subMesh.cxx
@@
-1049,6
+1049,9
@@
SMESH_Hypothesis::Hypothesis_Status
if ( stateChange && _algoState == HYP_OK ) // hyp becomes OK
algo->SetEventListener( this );
if ( stateChange && _algoState == HYP_OK ) // hyp becomes OK
algo->SetEventListener( this );
+ if ( event == REMOVE_ALGO || event == REMOVE_FATHER_ALGO )
+ _algo = 0;
+
notifyListenersOnEvent( event, ALGO_EVENT, anHyp );
if ( stateChange && oldAlgoState == HYP_OK ) { // hyp becomes KO
notifyListenersOnEvent( event, ALGO_EVENT, anHyp );
if ( stateChange && oldAlgoState == HYP_OK ) { // hyp becomes KO
@@
-1512,7
+1515,7
@@
bool SMESH_subMesh::ComputeStateEngine(int event)
{
ret = algo->Compute((*_father), shape);
}
{
ret = algo->Compute((*_father), shape);
}
- if ( !_computeError || (
!ret &&
_computeError->IsOK() ) ) // algo can set _computeError of submesh
+ if ( !_computeError || (
/* !ret && */
_computeError->IsOK() ) ) // algo can set _computeError of submesh
_computeError = algo->GetComputeError();
}
catch ( ::SMESH_ComputeError& comperr ) {
_computeError = algo->GetComputeError();
}
catch ( ::SMESH_ComputeError& comperr ) {
@@
-2272,7
+2275,7
@@
void SMESH_subMesh::notifyListenersOnEvent( const int event,
li_da.first->ProcessEvent( event, eventType, this, li_da.second, hyp );
li_da.first->ProcessEvent( event, eventType, this, li_da.second, hyp );
- if ( !isDeletable ||
!
_eventListeners.count( li_da.first ))
+ if ( !isDeletable || _eventListeners.count( li_da.first ))
li_da.first->myBusySM.erase( this ); // a listener is hopefully not dead
}
}
li_da.first->myBusySM.erase( this ); // a listener is hopefully not dead
}
}