From 6d253059b2e215a1654bc78c1f1ee1da55ebdd9b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 3 Nov 2024 11:13:25 +0530 Subject: [PATCH] Linux: Handle speech dispatcher with dummy output module and no voices more gracefully --- src/calibre/gui2/tts/config.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tts/config.py b/src/calibre/gui2/tts/config.py index 0fd40afe1f..87ce9e06ba 100644 --- a/src/calibre/gui2/tts/config.py +++ b/src/calibre/gui2/tts/config.py @@ -394,7 +394,12 @@ class EngineSpecificConfig(QWidget): output_module = self.output_module.currentData() or '' if metadata.has_multiple_output_modules: output_module = output_module or self.default_output_modules[self.engine_name] - all_voices = self.voice_data[self.engine_name][output_module] + try: + all_voices = self.voice_data[self.engine_name][output_module] + except Exception: + import traceback + traceback.print_exc() + all_voices = [] self.voices.set_voices(all_voices, s.voice_name, metadata, s.preferred_voices) def as_settings(self) -> EngineSpecificSettings: