]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fix crash on Python Dump if some object has been deleted
authorkga <kga@opencascade.com>
Tue, 22 Oct 2013 09:27:12 +0000 (09:27 +0000)
committerkga <kga@opencascade.com>
Tue, 22 Oct 2013 09:27:12 +0000 (09:27 +0000)
src/GEOM_I/GEOM_DumpPython.cc

index 40a9ad679b1a3836fe6e71455ca7d619fdf5b1f8..c5f4430824843a400c5a2446e1ddcf204e8d4a5c 100644 (file)
@@ -173,6 +173,8 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
        CORBA::String_var anEntry = CORBA::string_dup(newEntry.c_str());
        
        if( ap->IsSet(anEntry, 6) ) { //6 Means string array, see SALOMEDS_Attributes.idl AttributeParameter interface
+         if ( GetDumpName((*it)._studyEntry.ToCString()) == NULL ) 
+           continue;
          std::string idCommand = std::string("geompy.getObjectID(") + GetDumpName((*it)._studyEntry.ToCString()) + std::string(")");
          SALOMEDS::StringSeq_var aSeq= ap->GetStrArray(anEntry);
          int oldLenght = aSeq->length();       
@@ -230,6 +232,8 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
       } else if ( !aFatherName.IsEmpty() && !aFatherEntry.IsEmpty() ) {
        // the node is Geom object under folder
        aDirScript += "geompy.PutToFolder(";
+       if ( GetDumpName( aNodeSO->GetID() ) == NULL )
+         continue;
        aDirScript += GetDumpName( aNodeSO->GetID() );
        aDirScript += ", ";
        aDirScript += aFatherName;