diff --git a/daemon/core/gui/coreclient.py b/daemon/core/gui/coreclient.py index 8beffc49..e4fd5fac 100644 --- a/daemon/core/gui/coreclient.py +++ b/daemon/core/gui/coreclient.py @@ -121,6 +121,8 @@ class CoreClient: self.emane_config = None self.service_configs.clear() self.file_configs.clear() + for mobility_player in self.mobility_players.values(): + mobility_player.handle_close() self.mobility_players.clear() # clear streams if self.handling_throughputs: @@ -408,7 +410,7 @@ class CoreClient: session_id = self.session_id try: response = self.client.delete_session(session_id) - logging.info("deleted session result: %s", response) + logging.info("deleted session(%s) result: %s", session_id, response) except grpc.RpcError as e: self.app.after(0, show_grpc_error, e) diff --git a/daemon/core/gui/menuaction.py b/daemon/core/gui/menuaction.py index 5767d4b1..c9ca355e 100644 --- a/daemon/core/gui/menuaction.py +++ b/daemon/core/gui/menuaction.py @@ -32,10 +32,10 @@ class MenuAction: self.app = app self.canvas = app.canvas - def cleanup_old_session(self): + def cleanup_old_session(self, session_id): logging.info("cleaning up old session") self.app.core.stop_session() - self.app.core.delete_session() + self.app.core.delete_session(session_id) def prompt_save_running_session(self, quitapp: bool = False): """ @@ -49,7 +49,12 @@ class MenuAction: callback = None if quitapp: callback = self.app.quit - task = BackgroundTask(self.app, self.cleanup_old_session, callback) + task = BackgroundTask( + self.app, + self.cleanup_old_session, + callback, + (self.app.core.session_id,), + ) task.start() elif quitapp: self.app.quit()