Salome HOME
ENV: Fix of regression after Windows porting.
authorenv <env@opencascade.com>
Tue, 26 Jul 2005 09:32:37 +0000 (09:32 +0000)
committerenv <env@opencascade.com>
Tue, 26 Jul 2005 09:32:37 +0000 (09:32 +0000)
src/SALOMEDS/SALOMEDS_Study_i.cxx

index 0306c28c0769866d9a7a011dd5bd8866e445402a..32e0cfc9b37b9114af671bb3687cea2351ab25c6 100644 (file)
@@ -674,12 +674,14 @@ void SALOMEDS_Study_i::RemovePostponed(CORBA::Long theUndoLimit)
   int aLegth = aSeq->Length();
   for(int i = 1; i <= aLegth; i++) {
     TCollection_AsciiString anIOR = aSeq->Value(i);
-    if (anIOR.Value(1) == 'c') {
+    //mkr : fix for bug IPAL9408 : check the length of anIOR
+    //                             before take value from it
+    if ( !anIOR.IsEmpty() && anIOR.Value(1) == 'c') {
       CORBA::Object_var obj = _orb->string_to_object(anIOR.Split(1).ToCString());
       SALOME::GenericObj_var aGeneric = SALOME::GenericObj::_narrow(obj);
       if (!CORBA::is_nil(aGeneric)) aGeneric->Destroy();
     }
-    else if (anIOR.Value(1) == 'd') {
+    else if ( !anIOR.IsEmpty() && anIOR.Value(1) == 'd') {
       CORBA::Object_var obj = _orb->string_to_object(anIOR.Split(1).ToCString());
       SALOME::GenericObj_var aGeneric = SALOME::GenericObj::_narrow(obj);
       if (!CORBA::is_nil(aGeneric)) aGeneric->Destroy();