]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Fix for IPAL9408 : 3.0.0(current3106): CRASH after trying to "Close" saved document...
authormkr <mkr@opencascade.com>
Wed, 13 Jul 2005 11:45:06 +0000 (11:45 +0000)
committermkr <mkr@opencascade.com>
Wed, 13 Jul 2005 11:45:06 +0000 (11:45 +0000)
src/SALOMEDS/SALOMEDS_Study_i.cxx

index 56c87fc3e081ff82be181e31fc66a6a887c799df..60f8423a89d09a5709f4cd4d8a450f00af8eded1 100644 (file)
@@ -668,12 +668,14 @@ void SALOMEDS_Study_i::RemovePostponed(const 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();