0021891: EDF 2398 : Error when dumping a study with non historical mode

Fix bug that AddHypothesis() + RemoveHypothesis() pair was cleared in
  the historical mode if a hypothesis was removed
This commit is contained in:
eap 2012-10-09 13:53:34 +00:00
parent fb9bc843b0
commit c5c930fa65

View File

@ -1563,9 +1563,11 @@ void _pyMesh::Process( const Handle(_pyCommand)& theCommand )
if ( sameHyp ) if ( sameHyp )
{ {
addCmd = *cmd; addCmd = *cmd;
addCmd->Clear(); cmd = addHypCmds.erase( cmd );
theCommand->Clear(); if ( !theGen->IsToKeepAllCommands() ) {
cmd = addHypCmds.erase( cmd ); addCmd->Clear();
theCommand->Clear();
}
} }
else else
{ {
@ -1574,7 +1576,7 @@ void _pyMesh::Process( const Handle(_pyCommand)& theCommand )
} }
} }
Handle(_pyHypothesis) hyp = theGen->FindHyp( hypID ); Handle(_pyHypothesis) hyp = theGen->FindHyp( hypID );
if ( addCmd.IsNull() && !hypID.IsEmpty() ) { // hypo addition already wrapped if ( !theCommand->IsEmpty() && !hypID.IsEmpty() ) {
// RemoveHypothesis(geom, hyp) --> RemoveHypothesis( hyp, geom=0 ) // RemoveHypothesis(geom, hyp) --> RemoveHypothesis( hyp, geom=0 )
_pyID geom = theCommand->GetArg( 1 ); _pyID geom = theCommand->GetArg( 1 );
theCommand->RemoveArgs(); theCommand->RemoveArgs();