X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Gen_i.cxx;h=75c9d2184ece2e5cde5aec19f65771cdbe4fd314;hp=f3d2d43249feb392a522e13f3c8aaa5096bbb78a;hb=8d297d6698f361d4f2dde723050bcfbaea050920;hpb=fe4d201b78c5a39c2c1186498a481323d537e928 diff --git a/src/SMESH_I/SMESH_Gen_i.cxx b/src/SMESH_I/SMESH_Gen_i.cxx index f3d2d4324..75c9d2184 100644 --- a/src/SMESH_I/SMESH_Gen_i.cxx +++ b/src/SMESH_I/SMESH_Gen_i.cxx @@ -439,7 +439,19 @@ GenericHypothesisCreator_i* SMESH_Gen_i::getHypothesisCreator(const char* theHyp { // load plugin library if(MYDEBUG) MESSAGE("Loading server meshers plugin library ..."); - LibHandle libHandle = LoadLib( aPlatformLibName.c_str() ); +#ifdef WIN32 + #ifdef UNICODE + const wchar_t* path = Kernel_Utils::decode_s(aPlatformLibName); + #else + const char* path = aPlatformLibName.c_str(); + #endif +#else + const char* path = aPlatformLibName.c_str(); +#endif + LibHandle libHandle = LoadLib( path ); +#if defined(WIN32) && defined(UNICODE) + delete path; +#endif if (!libHandle) { // report any error, if occurred @@ -2959,7 +2971,7 @@ char* SMESH_Gen_i::GetMEDVersion(const char* theFileName) /*! * SMESH_Gen_i::CheckCompatibility * - * Check compatibility of file with MED format being used. + * Check compatibility of file with MED format being used, read only. */ //================================================================================ CORBA::Boolean SMESH_Gen_i::CheckCompatibility(const char* theFileName) @@ -2967,6 +2979,18 @@ CORBA::Boolean SMESH_Gen_i::CheckCompatibility(const char* theFileName) return MED::CheckCompatibility( theFileName ); } +//================================================================================ +/*! + * SMESH_Gen_i::CheckWriteCompatibility + * + * Check compatibility of file with MED format being used, for append on write. + */ +//================================================================================ +CORBA::Boolean SMESH_Gen_i::CheckWriteCompatibility(const char* theFileName) +{ + return MED::CheckCompatibility( theFileName, true ); +} + //================================================================================ /*! * SMESH_Gen_i::GetMeshNames @@ -2976,10 +3000,12 @@ CORBA::Boolean SMESH_Gen_i::CheckCompatibility(const char* theFileName) //================================================================================ SMESH::string_array* SMESH_Gen_i::GetMeshNames(const char* theFileName) { + //MESSAGE("GetMeshNames " << theFileName); SMESH::string_array_var aResult = new SMESH::string_array(); MED::PWrapper aMed = MED::CrWrapperR( theFileName ); MED::TErr anErr; MED::TInt aNbMeshes = aMed->GetNbMeshes( &anErr ); + //MESSAGE("---" << aNbMeshes); if( anErr >= 0 ) { aResult->length( aNbMeshes ); for( MED::TInt i = 0; i < aNbMeshes; i++ ) { @@ -4951,12 +4977,14 @@ void SMESH_Gen_i::Close( SALOMEDS::SComponent_ptr theComponent ) if(MYDEBUG) MESSAGE( "SMESH_Gen_i::Close" ); // Clear study contexts data - delete myStudyContext; - myStudyContext = 0; + myStudyContext->Clear(); // remove the tmp files meshes are loaded from SMESH_PreMeshInfo::RemoveStudyFiles_TMP_METHOD( theComponent ); + // Clean trace of API methods calls + CleanPythonTrace(); + return; }