Salome HOME
Memory Leaks
[modules/superv.git] / src / SUPERVGUI / SUPERVGUI_CanvasPort.cxx
index 859611ee6c7f6478240952cb9cd3c881ff2414c9..1a5c30b88545e3fc83a1646b52a24d2c53379236 100644 (file)
@@ -291,21 +291,19 @@ void SUPERVGUI_CanvasPortOut::toStudy()
 {
   Trace("SUPERVGUI_CanvasPortOut::toStudy");
 
-  if (getMain()->getStudy()->getStudyDocument()->GetProperties()->IsLocked()) {
+  // asv 08.02.05 : added && !myInStudy - fix for PAL8105
+  if ( getMain()->getStudy()->getStudyDocument()->GetProperties()->IsLocked() && !myInStudy ) {
     QMessageBox::warning(QAD_Application::getDesktop(), tr("WRN_WARNING"), 
                         tr("WRN_STUDY_LOCKED"));
     return;
   }
 
-  if ( !getMain()->isFromStudy() ) {
-    if ( getMain()->addStudy() ) {
-      getMain()->setAsFromStudy( true ); // put an "computation" item under "Supervisor" item in the Study tree
-      getMain()->putDataStudy( getEngine(), STUDY_PORT_OUT ); // put another new item under some another corresponding item
-    }                                                         // GEOM -> Compound_1
-  }
   myInStudy = !myInStudy;
   sync();
   getMain()->getCanvas()->update();
+
+  if ( myInStudy ) // put values to study (supervision, supervision->dataflow, supervision->dataflow->runXXX, etc.
+    getMain()->putDataStudy( getEngine(), STUDY_PORT_OUT ); 
 }