From 8c751d845e675591422b59ccb01ecf6adced8f45 Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Fri, 11 Aug 2017 14:10:47 +0100
Subject: [PATCH] copying the list we are iterating on

---
 force_bdss/core_mco_driver.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/force_bdss/core_mco_driver.py b/force_bdss/core_mco_driver.py
index a235437..e2678da 100644
--- a/force_bdss/core_mco_driver.py
+++ b/force_bdss/core_mco_driver.py
@@ -37,6 +37,7 @@ class CoreMCODriver(BaseCoreDriver):
     def application_stopping(self):
         for listener in self.listeners:
             self._finalize_listener(listener)
+        self.listeners[:] = []
 
     def _mco_default(self):
         try:
@@ -51,7 +52,7 @@ class CoreMCODriver(BaseCoreDriver):
 
     @on_trait_change("mco:event")
     def _handle_mco_event(self, event):
-        for listener in self.listeners:
+        for listener in self.listeners[:]:
             try:
                 listener.deliver(event)
             except Exception as e:
-- 
GitLab