Salome HOME
Issue #555 Make a number of shifted/rotated copies - selected object does not appear...
[modules/shaper.git] / src / Model / Model_Application.cpp
index 212fd4c9cab1ec924a6fe9fd14d2ced24b7a74ec..4dddb449daf686c24185616677b8f45a6df6bed1 100644 (file)
@@ -37,9 +37,10 @@ const std::shared_ptr<Model_Document>& Model_Application::getDocument(string the
 
   // load it if it must be loaded by demand
   if (myLoadedByDemand.find(theDocID) != myLoadedByDemand.end() && !myPath.empty()) {
-    aNew->load(myPath.c_str());
+    aNew->load(myPath.c_str(), aNew);
     myLoadedByDemand.erase(theDocID);  // done, don't do it anymore
   } else {
+    aNew->setThis(aNew);
     static Events_ID anId = ModelAPI_DocumentCreatedMessage::eventId();
     std::shared_ptr<ModelAPI_DocumentCreatedMessage> aMessage = std::shared_ptr
       <ModelAPI_DocumentCreatedMessage>(new ModelAPI_DocumentCreatedMessage(anId, this));
@@ -63,7 +64,7 @@ void Model_Application::deleteAllDocuments()
 {
   std::map<std::string, std::shared_ptr<Model_Document> >::iterator aDoc = myDocs.begin();
   for(; aDoc != myDocs.end(); aDoc++) {
-    aDoc->second->close();
+    aDoc->second->close(true);
   }
   myDocs.clear();
   myLoadedByDemand.clear();