SalomeApp_Study::SalomeApp_Study( SUIT_Application* app )
: CAM_Study( app )
-{}
-
+{
+}
SalomeApp_Study::~SalomeApp_Study()
{
- closeDocument();
}
int SalomeApp_Study::id() const
MESSAGE( "openDocument" );
// initialize myStudyDS, read HDF file
- _PTR(Study) study ( SalomeApp_Application::studyMgr()->NewStudy( newStudyName().latin1() ) );
+ QString aName = newStudyName();
+ _PTR(Study) study ( SalomeApp_Application::studyMgr()->NewStudy( aName.latin1() ) );
if ( !study )
return;
setStudyDS( study );
+ setStudyName( aName );
// create myRoot
setRoot( new SalomeApp_RootObject( this ) );
emit closed( this );
// close SALOMEDS document
- SalomeApp_Application::studyMgr()->Close( studyDS() );
- SALOMEDSClient_Study* aStudy = NULL;
- setStudyDS( _PTR(Study)(aStudy) );
+ _PTR(Study) studyPtr = studyDS();
+ if ( studyPtr )
+ {
+ SalomeApp_Application::studyMgr()->Close( studyPtr );
+ SALOMEDSClient_Study* aStudy = 0;
+ setStudyDS( _PTR(Study)(aStudy) );
+ }
CAM_Study::closeDocument();
}
aComp = aBuilder->NewComponent(dm->module()->name());
// Set default engine IOR
- aBuilder->DefineComponentInstance(aComp, SalomeApp_Application::defaultEngineIOR());
+ aBuilder->DefineComponentInstance(aComp, SalomeApp_Application::defaultEngineIOR().latin1());
}
}
}