From 5d8e96ad47184f75d4094d2e8c013bcd10383334 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Fri, 1 May 2009 09:37:13 +0000
Subject: [PATCH] don't call gtk.main_quit() from outside of a mainloop

---
 src/gajim.py         | 2 +-
 src/roster_window.py | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/gajim.py b/src/gajim.py
index 08e40fd1fc..bc1077ff52 100644
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -387,7 +387,7 @@ def on_exit():
 	if os.path.exists(pid_filename):
 		os.remove(pid_filename)
 	# Shutdown GUI and save config
-	gajim.interface.roster.quit_gtkgui_interface()
+	gajim.interface.roster.prepare_quit()
 	if sys.platform == 'darwin':
 		try:
 			osx.shutdown()
diff --git a/src/roster_window.py b/src/roster_window.py
index 8bbc645d84..8c79d95895 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -2206,9 +2206,7 @@ class RosterWindow:
 			self.on_quit_request()
 		return True # do NOT destroy the window
 
-	def quit_gtkgui_interface(self):
-		'''When we quit the gtk interface :
-		tell that to the core and exit gtk'''
+	def prepare_quit(self):
 		msgwin_width_adjust = 0
 
 		# in case show_roster_on_start is False and roster is never shown
@@ -2239,6 +2237,10 @@ class RosterWindow:
 			self.close_all(account)
 		if gajim.interface.systray_enabled:
 			gajim.interface.hide_systray()
+
+	def quit_gtkgui_interface(self):
+		'''When we quit the gtk interface : exit gtk'''
+		self.prepare_quit()
 		gtk.main_quit()
 
 	def on_quit_request(self, widget=None):
-- 
GitLab