From 18dcc8734cc3f7ceec68703a3853d6ab6522196a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 9 Nov 2021 07:23:52 +0530 Subject: [PATCH] Fix #1950206 [Calibre missing private copy of kdialog on Fedora 35](https://bugs.launchpad.net/calibre/+bug/1950206) --- src/calibre/gui2/linux_file_dialogs.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/linux_file_dialogs.py b/src/calibre/gui2/linux_file_dialogs.py index 5ac7c66213..00289ebeff 100644 --- a/src/calibre/gui2/linux_file_dialogs.py +++ b/src/calibre/gui2/linux_file_dialogs.py @@ -122,9 +122,11 @@ def run(cmd): def kdialog_supports_desktopfile(): ans = getattr(kdialog_supports_desktopfile, 'ans', None) if ans is None: + from calibre.gui2 import sanitize_env_vars try: - raw = subprocess.check_output(['kdialog', '--help']) - except OSError: + with sanitize_env_vars(): + raw = subprocess.check_output(['kdialog', '--help']) + except (subprocess.CalledProcessError, FileNotFoundError, OSError): raw = b'--desktopfile' ans = kdialog_supports_desktopfile.ans = b'--desktopfile' in raw return ans