]> SALOME platform Git repositories - modules/homard.git/commitdiff
Salome HOME
Correction du test sur le choix du repertoire du cas
authornicolas <nicolas>
Wed, 18 Dec 2013 15:32:57 +0000 (15:32 +0000)
committernicolas <nicolas>
Wed, 18 Dec 2013 15:32:57 +0000 (15:32 +0000)
src/HOMARDGUI/MonCreateCase.cxx
src/HOMARD_I/HOMARD_Cas_i.cxx

index 4738ba342efbf2cc8872cdab3a7ba874636fbdf8..61e78011fa6b45e5dd6aacda77204f3c48126a69 100644 (file)
@@ -160,7 +160,7 @@ bool MonCreateCase::PushOnApply()
 
   if ( aDirName != _aDirName)
   { QString CaseNameDir = myHomardGen->VerifieDir( aDirName.toStdString().c_str()) ;
-    if ( CaseNameDir != "" )
+    if ( ( CaseNameDir != "" ) & ( CaseNameDir != aCaseName ) )
     {
       QString texte ;
       texte = QObject::tr("HOM_CASE_DIRECTORY_2") + CaseNameDir ;
index 6515972fa5b1fd3edffea1f7b16461aa5484c704..d8c23b2e1e2d6d9f6ddd0f87ed8ca5066c40fd60 100755 (executable)
@@ -125,17 +125,21 @@ void HOMARD_Cas_i::SetDirName( const char* NomDir )
   int codret ;
   // A. recuperation du nom ; on ne fait rien si c'est le meme
   char* oldrep = GetDirName() ;
-  if ( oldrep == NomDir ) { return ; }
+  if ( strcmp(oldrep,NomDir) == 0 )
+  {
+   return ;
+  }
   MESSAGE ( "SetDirName : passage de oldrep = "<< oldrep << " a NomDir = "<<NomDir);
   // B. controle de l'usage du repertoire
-  char* casename = _gen_i->VerifieDir(NomDir) ;
-  if ( std::string(casename).size() > 0 )
+  char* CaseName = GetName() ;
+  char* casenamedir = _gen_i->VerifieDir(NomDir) ;
+  if ( ( std::string(casenamedir).size() > 0 ) & ( strcmp(CaseName,casenamedir)!=0 ) )
   {
-    INFOS ( "Le repertoire " << NomDir << " est deja utilise pour le cas "<< casename );
+    INFOS ( "Le repertoire " << NomDir << " est deja utilise pour le cas "<< casenamedir );
     SALOME::ExceptionStruct es;
     es.type = SALOME::BAD_PARAM;
     std::string text ;
-    text = "The directory " + std::string(NomDir) + " is already used for the case " + std::string(casename) ;
+    text = "The directory " + std::string(NomDir) + " is already used for the case " + std::string(casenamedir) ;
     es.text = CORBA::string_dup(text.c_str());
     throw SALOME::SALOME_Exception(es);
   }