Skip to content

Commit

Permalink
Check if Proton runner with supported_proton_runners, instead of ru…
Browse files Browse the repository at this point in the history
…nner name

Fixes an issue where using to `wine-ge-proton` would make Bottles think it's a Proton runner, thus enabling the Steam Runtime
  • Loading branch information
Martino Fontana committed Feb 11, 2023
1 parent 03cdead commit 1cfa255
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
21 changes: 10 additions & 11 deletions bottles/backend/managers/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,17 +345,16 @@ def check_runners(self, install_latest: bool = True) -> bool:

# lock winemenubuilder.exe
for runner in runners:
winemenubuilder_paths = [
f"{runner}lib64/wine/x86_64-windows/winemenubuilder.exe",
f"{runner}lib/wine/x86_64-windows/winemenubuilder.exe",
f"{runner}lib32/wine/i386-windows/winemenubuilder.exe",
f"{runner}lib/wine/i386-windows/winemenubuilder.exe",
]
for winemenubuilder in winemenubuilder_paths:
if winemenubuilder.startswith("Proton"):
continue
if os.path.isfile(winemenubuilder):
os.rename(winemenubuilder, f"{winemenubuilder}.lock")
if runner in self.supported_proton_runners:
winemenubuilder_paths = [
f"{runner}lib64/wine/x86_64-windows/winemenubuilder.exe",
f"{runner}lib/wine/x86_64-windows/winemenubuilder.exe",
f"{runner}lib32/wine/i386-windows/winemenubuilder.exe",
f"{runner}lib/wine/i386-windows/winemenubuilder.exe",
]
for winemenubuilder in winemenubuilder_paths:
if os.path.isfile(winemenubuilder):
os.rename(winemenubuilder, f"{winemenubuilder}.lock")

# check system wine
if shutil.which("wine") is not None:
Expand Down
2 changes: 1 addition & 1 deletion bottles/backend/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def runner_update(config: dict, manager: object, runner: str):
the host system. There are some exceptions, like the Soda and Wine-GE runners,
which are built to work without the Steam Runtime.
"""
if "proton" in runner.lower() and RuntimeManager.get_runtimes("steam"):
if runner in manager.supported_proton_runners and RuntimeManager.get_runtimes("steam"):
manager.update_config(config, "use_steam_runtime", True, "Parameters")

return Result(
Expand Down

0 comments on commit 1cfa255

Please sign in to comment.