Commit bf5bc6ac046f2b7a62ef5b9cab506e04780296ab
1 parent
6b54118d
Exists in
master
UnInit auimanagers when exiting app
Showing
2 changed files
with
12 additions
and
1 deletions
Show diff stats
invesalius/gui/default_viewers.py
... | ... | @@ -43,6 +43,7 @@ class Panel(wx.Panel): |
43 | 43 | |
44 | 44 | self.__init_aui_manager() |
45 | 45 | self.__bind_events_wx() |
46 | + self.__bind_events() | |
46 | 47 | #self.__init_four_way_splitter() |
47 | 48 | #self.__init_mix() |
48 | 49 | |
... | ... | @@ -124,6 +125,9 @@ class Panel(wx.Panel): |
124 | 125 | self.aui_manager.Bind(wx.aui.EVT_AUI_PANE_MAXIMIZE, self.OnMaximize) |
125 | 126 | self.aui_manager.Bind(wx.aui.EVT_AUI_PANE_RESTORE, self.OnRestore) |
126 | 127 | |
128 | + def __bind_events(self): | |
129 | + Publisher.subscribe(self._Exit, 'Exit') | |
130 | + | |
127 | 131 | def OnMaximize(self, evt): |
128 | 132 | if evt.GetPane().name == self.s4.name: |
129 | 133 | Publisher.sendMessage('Show raycasting widget', None) |
... | ... | @@ -152,6 +156,8 @@ class Panel(wx.Panel): |
152 | 156 | p4 = volume_viewer.Viewer(self) |
153 | 157 | splitter.AppendWindow(p4) |
154 | 158 | |
159 | + def _Exit(self, pubsub_evt): | |
160 | + self.aui_manager.UnInit() | |
155 | 161 | |
156 | 162 | def __init_mix(self): |
157 | 163 | aui_manager = wx.aui.AuiManager() |
... | ... | @@ -246,6 +252,7 @@ class VolumeInteraction(wx.Panel): |
246 | 252 | 'Refresh raycasting widget points') |
247 | 253 | Publisher.subscribe(self.LoadHistogram, |
248 | 254 | 'Load histogram') |
255 | + Publisher.subscribe(self._Exit, 'Exit') | |
249 | 256 | |
250 | 257 | def __update_curve_wwwl_text(self, curve): |
251 | 258 | ww, wl = self.clut_raycasting.GetCurveWWWl(curve) |
... | ... | @@ -299,6 +306,10 @@ class VolumeInteraction(wx.Panel): |
299 | 306 | self.clut_raycasting.CalculatePixelPoints() |
300 | 307 | self.clut_raycasting.Refresh() |
301 | 308 | |
309 | + def _Exit(self, pubsub_evt): | |
310 | + self.aui_manager.UnInit() | |
311 | + | |
312 | + | |
302 | 313 | import wx.lib.platebtn as pbtn |
303 | 314 | import wx.lib.buttons as btn |
304 | 315 | import wx.lib.pubsub as ps | ... | ... |
invesalius/gui/frame.py
... | ... | @@ -270,6 +270,7 @@ class Frame(wx.Frame): |
270 | 270 | """ |
271 | 271 | Exit InVesalius. |
272 | 272 | """ |
273 | + self.aui_manager.UnInit() | |
273 | 274 | self.Destroy() |
274 | 275 | if hasattr(sys,"frozen") and sys.platform == 'darwin': |
275 | 276 | sys.exit(0) |
... | ... | @@ -392,7 +393,6 @@ class Frame(wx.Frame): |
392 | 393 | s = ses.Session() |
393 | 394 | if not s.IsOpen() or not s.project_path: |
394 | 395 | Publisher.sendMessage('Exit') |
395 | - self.aui_manager.UnInit() | |
396 | 396 | |
397 | 397 | def OnMenuClick(self, evt): |
398 | 398 | """ | ... | ... |