From bf5bc6ac046f2b7a62ef5b9cab506e04780296ab Mon Sep 17 00:00:00 2001 From: Thiago Franco de Moraes Date: Tue, 5 Jun 2018 17:56:43 -0300 Subject: [PATCH] UnInit auimanagers when exiting app --- invesalius/gui/default_viewers.py | 11 +++++++++++ invesalius/gui/frame.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/invesalius/gui/default_viewers.py b/invesalius/gui/default_viewers.py index e1c524a..c7a92eb 100644 --- a/invesalius/gui/default_viewers.py +++ b/invesalius/gui/default_viewers.py @@ -43,6 +43,7 @@ class Panel(wx.Panel): self.__init_aui_manager() self.__bind_events_wx() + self.__bind_events() #self.__init_four_way_splitter() #self.__init_mix() @@ -124,6 +125,9 @@ class Panel(wx.Panel): self.aui_manager.Bind(wx.aui.EVT_AUI_PANE_MAXIMIZE, self.OnMaximize) self.aui_manager.Bind(wx.aui.EVT_AUI_PANE_RESTORE, self.OnRestore) + def __bind_events(self): + Publisher.subscribe(self._Exit, 'Exit') + def OnMaximize(self, evt): if evt.GetPane().name == self.s4.name: Publisher.sendMessage('Show raycasting widget', None) @@ -152,6 +156,8 @@ class Panel(wx.Panel): p4 = volume_viewer.Viewer(self) splitter.AppendWindow(p4) + def _Exit(self, pubsub_evt): + self.aui_manager.UnInit() def __init_mix(self): aui_manager = wx.aui.AuiManager() @@ -246,6 +252,7 @@ class VolumeInteraction(wx.Panel): 'Refresh raycasting widget points') Publisher.subscribe(self.LoadHistogram, 'Load histogram') + Publisher.subscribe(self._Exit, 'Exit') def __update_curve_wwwl_text(self, curve): ww, wl = self.clut_raycasting.GetCurveWWWl(curve) @@ -299,6 +306,10 @@ class VolumeInteraction(wx.Panel): self.clut_raycasting.CalculatePixelPoints() self.clut_raycasting.Refresh() + def _Exit(self, pubsub_evt): + self.aui_manager.UnInit() + + import wx.lib.platebtn as pbtn import wx.lib.buttons as btn import wx.lib.pubsub as ps diff --git a/invesalius/gui/frame.py b/invesalius/gui/frame.py index 27242af..a2f07be 100644 --- a/invesalius/gui/frame.py +++ b/invesalius/gui/frame.py @@ -270,6 +270,7 @@ class Frame(wx.Frame): """ Exit InVesalius. """ + self.aui_manager.UnInit() self.Destroy() if hasattr(sys,"frozen") and sys.platform == 'darwin': sys.exit(0) @@ -392,7 +393,6 @@ class Frame(wx.Frame): s = ses.Session() if not s.IsOpen() or not s.project_path: Publisher.sendMessage('Exit') - self.aui_manager.UnInit() def OnMenuClick(self, evt): """ -- libgit2 0.21.2