From 0a252c669286a71872a895f034244680878e950b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 5 Apr 2015 08:29:56 +0530 Subject: [PATCH] Workaround for bug in Qt 5.4 that causes multiple close events to be delivered when using a keyboard shortcut to quit on OS X. Fixes #1440444 [ebook-viewer forgets state of ToC if closed by keyboard (Cmd-Q)](https://bugs.launchpad.net/calibre/+bug/1440444) --- src/calibre/gui2/viewer/main.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 7c0dbc3da5..5804fda2f9 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -80,6 +80,7 @@ class EbookViewer(MainWindow): start_in_fullscreen=False): MainWindow.__init__(self, debug_javascript) self.view.magnification_changed.connect(self.magnification_changed) + self.closed = False self.show_toc_on_open = False self.current_book_has_toc = False self.iterator = None @@ -252,7 +253,11 @@ class EbookViewer(MainWindow): QApplication.instance().quit() def closeEvent(self, e): + if self.closed: + e.ignore() + return if self.shutdown(): + self.closed = True return MainWindow.closeEvent(self, e) else: e.ignore()