]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fix for the crash on import of OpenParts document from the SALOME study with the...
authormpv <mpv@opencascade.com>
Thu, 17 Sep 2015 16:30:03 +0000 (19:30 +0300)
committermpv <mpv@opencascade.com>
Thu, 17 Sep 2015 16:30:03 +0000 (19:30 +0300)
src/Model/Model_Document.cpp
src/Model/Model_Objects.cpp

index e2a0026405bcd5e1b90c710117e1a24d43c8575a..b163538169cef52903f074f3939b2fbce540a132 100644 (file)
@@ -106,7 +106,7 @@ bool Model_Document::load(const char* theFileName, DocumentPtr theThis)
   TCollection_ExtendedString aPath(DocFileName(theFileName, myID));
   PCDM_ReaderStatus aStatus = (PCDM_ReaderStatus) -1;
   try {
-    aStatus = anApp->Open(aPath, myDoc);
+    aStatus = anApp->Open(aPath, aLoaded);
   } catch (Standard_Failure) {
     Handle(Standard_Failure) aFail = Standard_Failure::Caught();
     Events_Error::send(
@@ -168,6 +168,7 @@ bool Model_Document::load(const char* theFileName, DocumentPtr theThis)
     }
   }
   if (!isError) {
+    myDoc = aLoaded;
     myDoc->SetUndoLimit(UNDO_LIMIT);
     // to avoid the problem that feature is created in the current, not this, document
     std::shared_ptr<Model_Session> aSession = 
@@ -1024,7 +1025,7 @@ void Model_Document::synchronizeTransactions()
   }*/
 }
 
-// Feature that is used for selection in the Part document by the external request
+/// Feature that is used for selection in the Part document by the external request
 class Model_SelectionInPartFeature : public ModelAPI_Feature {
 public:
   /// Nothing to do in constructor
index 48c79ab8df2dbc31ff69d9b60ca92d35efc0956a..82831c710236276940b14fed8e748974bce803ab 100644 (file)
@@ -78,6 +78,7 @@ Model_Objects::~Model_Objects()
     aFeature->erase();
     myFeatures.UnBind(aFeaturesIter.Key());
   }
+  myHistory.clear();
   aLoop->activateFlushes(isActive);
   // erase update, because features are destroyed and update should not performed for them anywhere
   aLoop->eraseMessages(Events_Loop::eventByName(EVENT_OBJECT_CREATED));