diff --git a/fsl/fslview/overlay.py b/fsl/fslview/overlay.py index 80f87619e72ade22502b750a3bad092f3f941375..9c9819daee60db38225934c115d46d2c1d8c726a 100644 --- a/fsl/fslview/overlay.py +++ b/fsl/fslview/overlay.py @@ -283,6 +283,7 @@ def loadOverlays(paths, loadFunc='default', errorFunc='default', saveDir=True): if defaultLoad: loadDlg.Close() + loadDlg.Destroy() if saveDir and len(paths) > 0: fslsettings.write('loadOverlayLastDir', op.dirname(paths[-1])) @@ -333,6 +334,10 @@ def interactiveLoadOverlays(fromDir=None, **kwargs): return [] paths = dlg.GetPaths() + + dlg.Destroy() + del dlg + images = loadOverlays(paths, saveDir=saveFromDir, **kwargs) return images diff --git a/fsl/utils/dialog.py b/fsl/utils/dialog.py index 94779a5d24861e9776f035976e65fcc99c0478e5..112de0bc5f2642cee48ffbb5f5b11064cc76b6ca 100644 --- a/fsl/utils/dialog.py +++ b/fsl/utils/dialog.py @@ -59,6 +59,7 @@ class SimpleMessageDialog(wx.Dialog): self.Fit() self.Refresh() self.Update() + wx.Yield() class TimeoutDialog(SimpleMessageDialog): @@ -128,7 +129,7 @@ class ProcessingDialog(SimpleMessageDialog): self.SetFocus() self.Update() - result = self.task(*self.args, **self.kwargs) + result = self.task(*self.args, **self.kwargs) self.Close() self.Destroy()