Salome HOME
Fix for PAL7164: after analysis of the bug, it was found out that PublishInStudy...
authorasv <asv@opencascade.com>
Wed, 26 Jan 2005 13:38:37 +0000 (13:38 +0000)
committerasv <asv@opencascade.com>
Wed, 26 Jan 2005 13:38:37 +0000 (13:38 +0000)
commit3f6f0841df1a2c7c868c947bb373a14ab654a2ef
tree6bd40e1b64b98901c4d37989b83bd4a69f0b4b3c
parent1f679c6f6d0115608e41b2e82520bce9a389b837
Fix for PAL7164: after analysis of the bug, it was found out that PublishInStudy() in GEOM was called twice from Supervisor.  It was done from CanvasPort::sync() function.  Since sync() is an asinchronious function, it is called when a signal comes, and in other occasions, it was decided to move the put_in_study functionality to another place - to execute() function of Main, which handles events coming from Engine.
If an event is "Node has successfully finished execution", then its CanvasOutPorts are analized, and if some port has "myIsInStudy" flag - then value of this port is put into study.
It fixes the bug, since execute() is called exactly once on every event (controlled by Supervisor Engine).
src/SUPERVGUI/SUPERVGUI_CanvasPort.cxx
src/SUPERVGUI/SUPERVGUI_Main.cxx