mirror of
https://github.com/lutris/lutris
synced 2024-09-15 22:09:55 +00:00
Handle obsolete runners more safely.
Resolves #4863 In case one winds up in the sidebar, it will have no actions.
This commit is contained in:
parent
1fd460b8e3
commit
4d4d7f6319
|
@ -15,6 +15,7 @@ from lutris.gui.dialogs import ErrorDialog
|
|||
from lutris.gui.dialogs.runner_install import RunnerInstallDialog
|
||||
from lutris.gui.widgets.utils import has_stock_icon
|
||||
from lutris.installer.interpreter import ScriptInterpreter
|
||||
from lutris.runners import InvalidRunner
|
||||
from lutris.services import SERVICES
|
||||
from lutris.services.base import AuthTokenExpired, BaseService
|
||||
|
||||
|
@ -212,7 +213,11 @@ class RunnerSidebarRow(SidebarRow):
|
|||
|
||||
# Creation is delayed because only installed runners can be imported
|
||||
# and all visible boxes should be installed.
|
||||
self.runner = runners.import_runner(self.id)()
|
||||
try:
|
||||
self.runner = runners.import_runner(self.id)()
|
||||
except InvalidRunner:
|
||||
return entries
|
||||
|
||||
if self.runner.multiple_versions:
|
||||
entries.append((
|
||||
"system-software-install-symbolic",
|
||||
|
|
|
@ -120,7 +120,10 @@ def get_runner_human_name(runner_name):
|
|||
names."""
|
||||
if runner_name:
|
||||
if runner_name not in _cached_runner_human_names:
|
||||
_cached_runner_human_names[runner_name] = import_runner(runner_name)().human_name
|
||||
try:
|
||||
_cached_runner_human_names[runner_name] = import_runner(runner_name)().human_name
|
||||
except InvalidRunner:
|
||||
_cached_runner_human_names[runner_name] = runner_name # an obsolete runner
|
||||
return _cached_runner_human_names[runner_name]
|
||||
|
||||
return ""
|
||||
|
|
Loading…
Reference in a new issue