From 7de493d0db9927fc3fc27b68ecdb33681e85c0d6 Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Wed, 1 Jul 2026 10:51:21 +0300 Subject: [PATCH] LocalLaunchSettings: set `LEGENDARY_WRAPPER_EXE` to `0` if global is enabled Fixes the wrapper getting enabled because of falsey evaluation of the local environment value --- rare/commands/launcher/lgd_helper.py | 6 +++--- rare/components/tabs/library/details/game.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rare/commands/launcher/lgd_helper.py b/rare/commands/launcher/lgd_helper.py index 5c6450db6..9e5a6e9b2 100644 --- a/rare/commands/launcher/lgd_helper.py +++ b/rare/commands/launcher/lgd_helper.py @@ -117,9 +117,9 @@ def get_game_params(rgame: RareGameSlim, init: InitParams, launch: LaunchParams) full_params = [] full_params.extend(params.launch_command) if 'LEGENDARY_WRAPPER_EXE' in params.environment: - lgd_wrapper = params.environment.pop('LEGENDARY_WRAPPER_EXE', '').strip() - if lgd_wrapper and os.path.isfile(lgd_wrapper): - full_params.append(lgd_wrapper) + wrapper = params.environment.pop('LEGENDARY_WRAPPER_EXE', '').strip() + if wrapper.endswith('.exe') and os.path.isfile(wrapper): + full_params.append(wrapper) full_params.append(os.path.join(params.game_directory, params.game_executable)) full_params.extend(params.game_parameters) full_params.extend(params.egl_parameters) diff --git a/rare/components/tabs/library/details/game.py b/rare/components/tabs/library/details/game.py index ad5963362..f2ce2f4d1 100644 --- a/rare/components/tabs/library/details/game.py +++ b/rare/components/tabs/library/details/game.py @@ -132,7 +132,8 @@ def _launch_params_changed(self, value) -> None: def _lgd_wrapper_check_changed(self, state: Qt.CheckState): _wrapper = str(wrapper_path()) config.adjust_envvar_with_global( - self.app_name, 'LEGENDARY_WRAPPER_EXE', _wrapper if state == Qt.CheckState.Checked else '' + self.app_name, 'LEGENDARY_WRAPPER_EXE', + _wrapper if state == Qt.CheckState.Checked else '0' if config.get_envvar('default', 'LEGENDARY_WRAPPER_EXE') else '' ) self.environ_changed.emit('LEGENDARY_WRAPPER_EXE')