Avoid calling FinishOperation() when operation is just started.

This commit is contained in:
vsr 2014-06-18 13:38:23 +04:00
parent dc562ec459
commit 23318a595c

View File

@ -59,6 +59,7 @@ void GEOM_Operation::startOperation()
if ( !myIOperation->_is_nil() ) { if ( !myIOperation->_is_nil() ) {
try { try {
myIOperation->StartOperation(); myIOperation->StartOperation();
setState( Running );
} }
catch ( const SALOME::SALOME_Exception& e ) { catch ( const SALOME::SALOME_Exception& e ) {
SalomeApp_Tools:: QtCatchCorbaException( e ); SalomeApp_Tools:: QtCatchCorbaException( e );
@ -74,9 +75,13 @@ void GEOM_Operation::commitOperation()
{ {
SUIT_Operation::commitOperation(); SUIT_Operation::commitOperation();
if ( state() != Running )
return;
if ( !myIOperation->_is_nil() ) { if ( !myIOperation->_is_nil() ) {
try { try {
myIOperation->FinishOperation(); myIOperation->FinishOperation();
setState( Waiting );
} }
catch ( const SALOME::SALOME_Exception& e ) { catch ( const SALOME::SALOME_Exception& e ) {
SalomeApp_Tools:: QtCatchCorbaException( e ); SalomeApp_Tools:: QtCatchCorbaException( e );