[Scummvm-git-logs] scummvm master -> 48f72f1d32c5bc5538cb564d6219ce5bda18b267

lephilousophe noreply at scummvm.org
Sun Mar 22 17:43:34 UTC 2026


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
48f72f1d32 GUI: Disable Load Game button in Grid launcher


Commit: 48f72f1d32c5bc5538cb564d6219ce5bda18b267
    https://github.com/scummvm/scummvm/commit/48f72f1d32c5bc5538cb564d6219ce5bda18b267
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-03-22T18:41:10+01:00

Commit Message:
GUI: Disable Load Game button in Grid launcher

Fix #16614.

Changed paths:
    gui/launcher.cpp
    gui/widgets/grid.cpp
    gui/widgets/grid.h


diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 5caae1956a4..27e817959d3 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -1720,13 +1720,17 @@ void LauncherGrid::updateListing(int selPos) {
 		Common::String platform;
 		Common::String extra;
 		Common::String path;
+		Common::String guioptions;
 		bool valid_path = false;
+		bool canLoad;
 		curDomain.domain->tryGetVal("engineid", engineid);
 		curDomain.domain->tryGetVal("language", language);
 		curDomain.domain->tryGetVal("platform", platform);
 		curDomain.domain->tryGetVal("extra", extra);
+		curDomain.domain->tryGetVal("guioptions", guioptions);
 		valid_path = (!curDomain.domain->tryGetVal("path", path) || !Common::FSNode(Common::Path::fromConfig(path)).isDirectory()) ? false : true;
-		gridList.push_back(GridItemInfo(k++, engineid, gameid, curDomain.description, curDomain.title, extra, Common::parseLanguage(language), Common::parsePlatform(platform), valid_path));
+		canLoad = !Common::checkGameGUIOption(GUIO_NOLAUNCHLOAD, guioptions);
+		gridList.push_back(GridItemInfo(k++, engineid, gameid, curDomain.description, curDomain.title, extra, Common::parseLanguage(language), Common::parsePlatform(platform), valid_path, canLoad));
 		_domains.push_back(curDomain.key);
 		_domainTitles.push_back(curDomain.description); // Store the game description (user's name for it)
 	}
diff --git a/gui/widgets/grid.cpp b/gui/widgets/grid.cpp
index db29df1beaf..ab34f6e94fb 100644
--- a/gui/widgets/grid.cpp
+++ b/gui/widgets/grid.cpp
@@ -1212,6 +1212,8 @@ void GridWidget::openTrayAtSelected() {
 	if (_selectedEntry) {
 		GridItemTray *tray = new GridItemTray(this, _x + _selectedEntry->x - _gridXSpacing / 3, _y + _selectedEntry->y + _selectedEntry->h - _scrollPos,
 								_gridItemWidth + 2 * (_gridXSpacing / 3), _trayHeight, _selectedEntry->entryID, this);
+		tray->enableLoadButton(_selectedEntry->canLoadGame);
+
 		tray->runModal();
 		delete tray;
 	}
diff --git a/gui/widgets/grid.h b/gui/widgets/grid.h
index a6796fdb7bf..fd0c81b785a 100644
--- a/gui/widgets/grid.h
+++ b/gui/widgets/grid.h
@@ -60,12 +60,13 @@ struct GridItemInfo {
 	Common::String		attribute;
 	Common::Language	language;
 	Common::Platform 	platform;
+	bool                    canLoadGame;
 
 	int32				x, y, w, h;
 
 	GridItemInfo(int id, const Common::String &eid, const Common::String &gid, const Common::String &t,
-		const Common::String &d, const Common::String &e, Common::Language l, Common::Platform p, bool v)
-		: entryID(id), gameid(gid), engineid(eid), title(t), description(d), extra(e), language(l), platform(p), validEntry(v), isHeader(false) {
+		const Common::String &d, const Common::String &e, Common::Language l, Common::Platform p, bool v, bool cl)
+		: entryID(id), gameid(gid), engineid(eid), title(t), description(d), extra(e), language(l), platform(p), validEntry(v), canLoadGame(cl), isHeader(false) {
 		thumbPath = Common::String::format("icons/%s-%s.png", engineid.c_str(), gameid.c_str());
 	}
 
@@ -85,6 +86,7 @@ class GridItemTray: public Dialog, public CommandSender {
 	PicButtonWidget	*_editButton;
 public:
 	GridItemTray(GuiObject *boss, int x, int y, int w, int h, int entryID, GridWidget *grid);
+	void enableLoadButton(bool canLoad) { _loadButton->setEnabled(canLoad); }
 
 	void reflowLayout() override;
 




More information about the Scummvm-git-logs mailing list