--- a/BeremizIDE.py Thu Feb 27 09:38:10 2025 +0100
+++ b/BeremizIDE.py Thu Feb 27 14:55:42 2025 +0100
@@ -65,7 +65,7 @@
-from ProjectController import ProjectController, GetAddMenuItems, MATIEC_ERROR_MODEL
+from ProjectController import ProjectController, GetAddMenuItems, MATIEC_ERROR_MODEL, ToDoBeforeQuit @@ -614,14 +614,6 @@
return IDEFrame.LoadTab(self, notebook, page_infos)
- # Strange hack required by WAMP connector, using twisted.
- # Twisted reactor needs to be stopped only before quit,
- # since it cannot be restarted
- def AddToDoBeforeQuit(self, Thing):
- self.ToDoBeforeQuit.append(Thing)
if self.CTR is None or self.CheckSaveBeforeClosing(_("Close Application")):
@@ -631,9 +623,9 @@
- for Thing in self.ToDoBeforeQuit:
+ for Thing in ToDoBeforeQuit: - self.ToDoBeforeQuit = []
--- a/CLIController.py Thu Feb 27 09:38:10 2025 +0100
+++ b/CLIController.py Thu Feb 27 14:55:42 2025 +0100
@@ -11,7 +11,7 @@
-from ProjectController import ProjectController
+from ProjectController import ProjectController, ToDoBeforeQuit from LocalRuntimeMixin import LocalRuntimeMixin
from runtime.loglevels import LogLevelsCount, LogLevels
@@ -154,9 +154,14 @@
+ for Thing in ToDoBeforeQuit: if not self.session.keep:
--- a/ProjectController.py Thu Feb 27 09:38:10 2025 +0100
+++ b/ProjectController.py Thu Feb 27 14:55:42 2025 +0100
@@ -2141,3 +2141,10 @@
for d in self.StatusMethods:
if d["method"] == method and d.get("enabled", True) and d.get("shown", True):
+# Strange hack required by WAMP connector, using twisted. +# Twisted reactor needs to be stopped only before quit, +# since it cannot be restarted --- a/connectors/WAMP/__init__.py Thu Feb 27 09:38:10 2025 +0100
+++ b/connectors/WAMP/__init__.py Thu Feb 27 14:55:42 2025 +0100
@@ -90,12 +90,11 @@
confnodesroot.logger.write(_("WAMP connecting to URL : %s\n") % url)
- AddToDoBeforeQuit = confnodesroot.AppFrame.AddToDoBeforeQuit
_WampConnection = RegisterWampClient()
- AddToDoBeforeQuit(reactor.stop)
+ ToDoBeforeQuit.append(reactor.stop) reactor.run(installSignalHandlers=False)
class WampPLCObjectProxy(object):