From f72b2ffed3097f850ec747bd723f077e2c866669 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Mon, 27 Jul 2015 11:43:54 +0100
Subject: [PATCH] A couple of yields and destroys to make the overlay-load
 MessageDialog display on linux/gtk

---
 fsl/fslview/overlay.py | 5 +++++
 fsl/utils/dialog.py    | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/fsl/fslview/overlay.py b/fsl/fslview/overlay.py
index 80f87619e..9c9819dae 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 94779a5d2..112de0bc5 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()
-- 
GitLab