From 084a672f178cc8799749f604082ce1378c58b0df Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 25 Feb 2025 08:37:06 +0530 Subject: [PATCH] E-book viewer: Fix viewer not closing on SIGINT. Fixes #2099777 [ebook-viewer refuses to die after ctrl+c](https://bugs.launchpad.net/calibre/+bug/2099777) --- src/calibre/gui2/viewer/main.py | 1 + src/calibre/gui2/viewer/ui.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index bf77934571..8aeb853242 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -155,6 +155,7 @@ def run_gui(app, opts, args, internal_book_data, listener=None): open_at=opts.open_at, continue_reading=opts.continue_reading, force_reload=opts.force_reload, calibre_book_data=internal_book_data) main.set_exception_handler() + app.shutdown_signal_received.connect(main.request_close) if len(args) > 1: acc.events.append(os.path.abspath(args[-1])) acc.got_file.connect(main.handle_commandline_arg) diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 0f011e59f9..8c8e5e677f 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -811,6 +811,9 @@ class EbookViewer(MainWindow): self.cfi_changed(cfi) self.force_close() + def request_close(self): + self.close() + def closeEvent(self, ev): if self.shutdown_done: return