From f345dc6715fe50f4409b994546139e53e8016d96 Mon Sep 17 00:00:00 2001 From: David Sangrey Date: Sat, 3 Jan 2026 21:21:12 -0500 Subject: [PATCH] [#559] Prevent EDMC Crash -> No Update --- EDMarketConnector.py | 1 + config/__init__.py | 2 +- update.py | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/EDMarketConnector.py b/EDMarketConnector.py index 6d381040..447d8b6c 100644 --- a/EDMarketConnector.py +++ b/EDMarketConnector.py @@ -1624,6 +1624,7 @@ class AppWindow: # Disable WinSparkle automatic update checks, IFF configured to do so when in-game if config.get_int('disable_autoappupdatecheckingame'): if self.updater is not None: + config.set("core_updater_disable_in_game", self.updater.get_update_check()) self.updater.set_automatic_updates_check(False) logger.info('Monitor: Disable WinSparkle automatic update checks') diff --git a/config/__init__.py b/config/__init__.py index 9f937f87..e97e70ac 100644 --- a/config/__init__.py +++ b/config/__init__.py @@ -54,7 +54,7 @@ appcmdname = "EDMC" # # Major.Minor.Patch(-prerelease)(+buildmetadata) # NB: Do *not* import this, use the functions appversion() and appversion_nobuild() -_static_appversion = "6.0.2" +_static_appversion = "6.1.0-alpha0" _cached_version: semantic_version.Version | None = None copyright = "© 2015-2019 Jonathan Harris, 2020-2025 EDCD" diff --git a/update.py b/update.py index 7357775d..c742661e 100644 --- a/update.py +++ b/update.py @@ -224,6 +224,7 @@ class Updater: if not self.use_internal() and sys.platform == 'win32': self._init_winsparkle() + self.set_automatic_updates_check(config.get_bool("core_updater_disable_in_game", default=False)) def start_check_thread(self) -> None: """Start the background update worker thread safely.""" @@ -395,6 +396,12 @@ class Updater: status['text'] = tr.tl("{NEWVER} is available").format(NEWVER=newver_title) self.root.update_idletasks() + def get_update_check(self): + """Check the current value of the WinSparkle Registry Key.""" + if sys.platform == 'win32' and self.updater: + return self.updater.win_sparkle_set_automatic_check_for_updates() + return None + def close(self) -> None: """ Handle the EDMarketConnector.AppWindow.onexit() request.