]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix a bug: when study is opened/loaded, only first component is restored in the data...
authorvsr <vsr@opencascade.com>
Tue, 18 Jan 2011 12:53:59 +0000 (12:53 +0000)
committervsr <vsr@opencascade.com>
Tue, 18 Jan 2011 12:53:59 +0000 (12:53 +0000)
src/SalomeApp/SalomeApp_DataModel.cxx
src/SalomeApp/SalomeApp_Study.cxx

index 5462099f2b0f3889f628fd1055cce19b74310bfa..f64cf4776a4225d8679e2e10b6d8b416da6e9a10 100644 (file)
@@ -115,6 +115,7 @@ suitPtr SalomeApp_DataModelSync::createItem( const kerPtr& so,
   _PTR(SComponent) aSComp( so );
   suitPtr nitem = aSComp ? new SalomeApp_ModuleObject( aSComp, 0 ) :
                            new SalomeApp_DataObject( so, 0 );
+
   if( parent ) {
     int pos = after ? parent->childPos( after ) : 0;
     parent->insertChild( nitem, pos+1 );
@@ -364,10 +365,6 @@ SUIT_DataObject* SalomeApp_DataModel::synchronize( const _PTR( SComponent )& sob
   else
     suitObj= 0;
 
-#ifdef WITH_SALOMEDS_OBSERVER
-  root->setToSynchronize(false);
-#endif
-
   return suitObj;
 }
 
index f1e026db2438bae30974086cf384cbc7a2a92b6c..a2ecd56dbdfc4605d0d58a2de690bfcf4896b2ec 100644 (file)
@@ -256,7 +256,9 @@ bool SalomeApp_Study::createDocument( const QString& theStr )
 
   // create myRoot
   SalomeApp_RootObject* aRoot=new SalomeApp_RootObject( this );
+#ifdef WITH_SALOMEDS_OBSERVER
   aRoot->setToSynchronize(false);
+#endif
   setRoot( aRoot );
 
   bool aRet = CAM_Study::createDocument( theStr );
@@ -301,6 +303,7 @@ bool SalomeApp_Study::openDocument( const QString& theFileName )
   ((SalomeApp_Application*)application())->updateObjectBrowser( false ); 
 
 #ifdef WITH_SALOMEDS_OBSERVER
+  dynamic_cast<SalomeApp_RootObject*>( root() )->setToSynchronize(false);
   Observer_i* myObserver_i = new Observer_i(myStudyDS,this);
   //attach an observer to the study with notification of modifications 
   myStudyDS->attach(myObserver_i->_this(),true);
@@ -355,6 +358,7 @@ bool SalomeApp_Study::loadDocument( const QString& theStudyName )
   ((SalomeApp_Application*)application())->updateObjectBrowser( false ); 
 
 #ifdef WITH_SALOMEDS_OBSERVER
+  dynamic_cast<SalomeApp_RootObject*>( root() )->setToSynchronize(false);
   Observer_i* myObserver_i = new Observer_i(myStudyDS,this);
   //attach an observer to the study with notification of modifications 
   myStudyDS->attach(myObserver_i->_this(),true);