From f20f7ea811dc9a014ca9e4f50b909ee1181c55fc Mon Sep 17 00:00:00 2001
From: Daniel Brown <ddb@star.sr.bham.ac.uk>
Date: Fri, 6 Dec 2013 03:02:31 +0000
Subject: [PATCH] fixing QApplication creation for GUI

---
 pykat/finesse.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/pykat/finesse.py b/pykat/finesse.py
index 9171feb..2e703c2 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -42,6 +42,9 @@ from pykat.components import Component
 from pykat.commands import Command, xaxis
 from pykat.gui.gui import pyKatGUI
 
+from PyQt4.QtCore import QCoreApplication
+from PyQt4.QtGui import QApplication
+
 NO_GUI = False
 NO_BLOCK = "NO_BLOCK"
 
@@ -474,12 +477,20 @@ class kat(object):
         if NO_GUI:
             print  "No PyQt4 module was installed so cannot open a GUI"
         else:
+            self.app = QCoreApplication.instance() 
+            created = False
+            
+            if self.app == None:
+                created = True
+                self.app = QApplication([""])
+                
             if self.pykatgui == None:
-                #self.app = QtGui.QApplication([""])
                 self.pykatgui = pyKatGUI(self)
                 self.pykatgui.main()
             else:
                 self.pykatgui.show()
+                
+            if created: self.app.exec_()
     
     def getComponents(self):
         return self.__components.values()
-- 
GitLab