# HG changeset patch
# User Laman
# Date 2018-11-30 21:03:14
# Node ID 8a0de753f06fff2e819d4c73b5d8ca80270f9961
# Parent  5b4c6f5a0a28a70f72814e9381344242786b434d

fix: hanging window to properly kill itself

diff --git a/src/core.py b/src/core.py
--- a/src/core.py
+++ b/src/core.py
@@ -63,7 +63,7 @@ class Core:
 
 	def joinGui(self):
 		self._guiProc.join()
-		self._ownMessages.send("!kill")
+		self._ownMessages.send("!kill",("core",))
 
 	def _handleEvent(self,e):
 		actions={
diff --git a/src/gui/__init__.py b/src/gui/__init__.py
--- a/src/gui/__init__.py
+++ b/src/gui/__init__.py
@@ -13,6 +13,7 @@ class GUI:
 		self.root.title("OneEye {0}.{1}.{2}".format(*config.misc.version))
 		self.root.option_add('*tearOff',False) # for menu
 
+		self._ownMessages=None
 		self._coreMessages=None
 
 		self.mainWindow = MainWindow(self, master=self.root)
@@ -23,8 +24,10 @@ class GUI:
 		self.root.bind("<Left>",lambda e: self.sendMsg("prevFrame"))
 		self.root.bind("<Right>",lambda e: self.sendMsg("nextFrame"))
 		self.root.bind("<F12>",lambda e: Settings(self))
+		self.mainWindow.bind("<Destroy>",lambda e: self._ownMessages.send("!kill",("gui",)))
 
 	def __call__(self,ownMessages,coreMessages):
+		self._ownMessages=ownMessages
 		self._coreMessages=coreMessages
 
 		self.listenerThread=threading.Thread(target=lambda: ownMessages.listen(self._handleEvent))