From 5a8965791c96c89282be35f2c277233b607194f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= Date: Mon, 10 Jul 2017 16:25:26 +0200 Subject: [PATCH] Commit to DB before shutdown Because some operations use the _timeout_commit() it happens that a timeout is active while we shutdown. This makes sure everything is commited before shutdown. --- gajim/common/logger.py | 4 ++-- gajim/roster_window.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gajim/common/logger.py b/gajim/common/logger.py index b9221e8ba..6aba09f06 100644 --- a/gajim/common/logger.py +++ b/gajim/common/logger.py @@ -168,7 +168,7 @@ class Logger: self.open_db() self.get_jids_already_in_db() - def _really_commit(self): + def commit(self): try: self.con.commit() except sqlite.OperationalError as e: @@ -179,7 +179,7 @@ class Logger: def _timeout_commit(self): if self.commit_timout_id: return - self.commit_timout_id = GLib.timeout_add(500, self._really_commit) + self.commit_timout_id = GLib.timeout_add(500, self.commit) def simple_commit(self, sql_to_commit): """ diff --git a/gajim/roster_window.py b/gajim/roster_window.py index 9c0a2a823..234f319ba 100644 --- a/gajim/roster_window.py +++ b/gajim/roster_window.py @@ -2469,6 +2469,9 @@ class RosterWindow: gajim.interface.hide_systray() self.save_done = True + # Commit any outstanding SQL transactions + gajim.logger.commit() + def quit_gtkgui_interface(self): """ When we quit the gtk interface - exit gtk