From: jfa Date: Wed, 23 Nov 2005 16:58:35 +0000 (+0000) Subject: Improve memory management X-Git-Tag: BR_3_1_0_deb~45 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b429c085a6d45c58d71199af053c43c1607c85a2;hp=5b4ad9253833dee561a539c97059f6e7862e1f6e;p=modules%2Fgui.git Improve memory management --- diff --git a/src/SALOME_SWIG/SALOMEGUI_Swig.cxx b/src/SALOME_SWIG/SALOMEGUI_Swig.cxx index c4c2382c4..0c8e1764d 100644 --- a/src/SALOME_SWIG/SALOMEGUI_Swig.cxx +++ b/src/SALOME_SWIG/SALOMEGUI_Swig.cxx @@ -195,13 +195,14 @@ const char* SALOMEGUI_Swig::getComponentName( const char* componentUserName ) if ( SalomeApp_Application* anApp = getApplication() ) { CORBA::Object_var anObject = anApp->namingService()->Resolve("/Kernel/ModulCatalog"); if ( !CORBA::is_nil( anObject ) ) { - SALOME_ModuleCatalog::ModuleCatalog_var aCatalogue = SALOME_ModuleCatalog::ModuleCatalog::_narrow( anObject ); + SALOME_ModuleCatalog::ModuleCatalog_var aCatalogue = + SALOME_ModuleCatalog::ModuleCatalog::_narrow( anObject ); SALOME_ModuleCatalog::ListOfIAPP_Affich_var aModules = aCatalogue->GetComponentIconeList(); for ( unsigned int ind = 0; ind < aModules->length(); ind++ ) { - string aModuleName = CORBA::string_dup( aModules[ ind ].modulename ) ; - string aModuleUserName = CORBA::string_dup( aModules[ ind ].moduleusername ) ; - if ( componentUserName == aModuleUserName ) - return aModuleName.c_str(); + CORBA::String_var aModuleName = aModules[ ind ].modulename; + CORBA::String_var aModuleUserName = aModules[ ind ].moduleusername; + if ( strcmp(componentUserName, aModuleUserName.in()) == 0 ) + return aModuleName._retn(); } } } @@ -217,13 +218,14 @@ const char* SALOMEGUI_Swig::getComponentUserName( const char* componentName ) if ( SalomeApp_Application* anApp = getApplication() ) { CORBA::Object_var anObject = anApp->namingService()->Resolve("/Kernel/ModulCatalog"); if ( !CORBA::is_nil( anObject ) ) { - SALOME_ModuleCatalog::ModuleCatalog_var aCatalogue = SALOME_ModuleCatalog::ModuleCatalog::_narrow( anObject ); + SALOME_ModuleCatalog::ModuleCatalog_var aCatalogue = + SALOME_ModuleCatalog::ModuleCatalog::_narrow( anObject ); SALOME_ModuleCatalog::ListOfIAPP_Affich_var aModules = aCatalogue->GetComponentIconeList(); for ( unsigned int ind = 0; ind < aModules->length(); ind++ ) { - string aModuleName = CORBA::string_dup( aModules[ ind ].modulename ) ; - string aModuleUserName = CORBA::string_dup( aModules[ ind ].moduleusername ) ; - if ( componentName == aModuleName ) - return aModuleUserName.c_str(); + CORBA::String_var aModuleName = aModules[ ind ].modulename; + CORBA::String_var aModuleUserName = aModules[ ind ].moduleusername; + if ( strcmp(componentName, aModuleName.in()) == 0 ) + return aModuleUserName._retn(); } } }