From 604bae8a45d3c520bfaa84c91a46cbc62e456bdd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 26 Jul 2012 11:27:21 +0530 Subject: [PATCH] Fix layout state being saved incorrectly if calibre is killed without a proper shutdown --- src/calibre/gui2/main.py | 3 ++- src/calibre/gui2/ui.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 9a49b01764..b52bd2cadb 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -135,7 +135,8 @@ class GuiRunner(QObject): main = Main(self.opts, gui_debug=self.gui_debug) if self.splash_screen is not None: self.splash_screen.showMessage(_('Initializing user interface...')) - main.initialize(self.library_path, db, self.listener, self.actions) + with gprefs: # Only write gui.json after initialization is complete + main.initialize(self.library_path, db, self.listener, self.actions) if self.splash_screen is not None: self.splash_screen.finish(main) if DEBUG: diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 7a05810f2d..3490c63215 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -367,6 +367,8 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ self.keyboard.finalize() self.auto_adder = AutoAdder(gprefs['auto_add_path'], self) + self.save_layout_state() + # Collect cycles now gc.collect()