[Scummvm-git-logs] scummvm branch-2-5 -> 26751bab978f92af7af3000d39e4ec7d98ec8b0e

antoniou79 a.antoniou79 at gmail.com
Tue Nov 2 15:07:47 UTC 2021


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

Summary:
1484b13376 GUI: Disable widgets in the options dialog relating to unavailable features
26751bab97 GUI: Prevent segfault for Options in GMM in-game


Commit: 1484b1337697b85d7bc297b6fda40bc10d68901f
    https://github.com/scummvm/scummvm/commit/1484b1337697b85d7bc297b6fda40bc10d68901f
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2021-11-02T16:47:15+02:00

Commit Message:
GUI: Disable widgets in the options dialog relating to unavailable features

Changed paths:
    gui/options.cpp


diff --git a/gui/options.cpp b/gui/options.cpp
index 443ddb3961..40532cbfcd 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -351,6 +351,7 @@ void OptionsDialog::build() {
 		} else {
 			_stretchPopUpDesc->setVisible(false);
 			_stretchPopUp->setVisible(false);
+			_stretchPopUp->setEnabled(false);
 		}
 
 		_scalerPopUp->setSelected(0);
@@ -381,7 +382,9 @@ void OptionsDialog::build() {
 		} else {
 			_scalerPopUpDesc->setVisible(false);
 			_scalerPopUp->setVisible(false);
+			_scalerPopUp->setEnabled(false);
 			_scaleFactorPopUp->setVisible(false);
+			_scaleFactorPopUp->setEnabled(false);
 		}
 
 		// Fullscreen setting
@@ -393,10 +396,12 @@ void OptionsDialog::build() {
 		}
 
 		// Filtering setting
-		if (g_system->hasFeature(OSystem::kFeatureFilteringMode))
+		if (g_system->hasFeature(OSystem::kFeatureFilteringMode)) {
 			_filteringCheckbox->setState(ConfMan.getBool("filtering", _domain));
-		else
-			_filteringCheckbox->setVisible(false);
+		} else {
+			_filteringCheckbox->setState(false);
+			_filteringCheckbox->setEnabled(false);
+		}
 
 		// Aspect ratio setting
 		if (_guioptions.contains(GUIO_NOASPECT)) {
@@ -1071,18 +1076,35 @@ void OptionsDialog::setGraphicSettingsState(bool enabled) {
 	_gfxPopUp->setEnabled(enabled);
 	_renderModePopUpDesc->setEnabled(enabled);
 	_renderModePopUp->setEnabled(enabled);
-	_stretchPopUpDesc->setEnabled(enabled);
-	_stretchPopUp->setEnabled(enabled);
-	_scalerPopUpDesc->setEnabled(enabled);
-	_scalerPopUp->setEnabled(enabled);
-	_scaleFactorPopUp->setEnabled(enabled);
 	_vsyncCheckbox->setEnabled(enabled);
-	_filteringCheckbox->setEnabled(enabled);
 	_rendererTypePopUpDesc->setEnabled(enabled);
 	_rendererTypePopUp->setEnabled(enabled);
 	_antiAliasPopUpDesc->setEnabled(enabled);
 	_antiAliasPopUp->setEnabled(enabled);
 
+	if (g_system->hasFeature(OSystem::kFeatureStretchMode)) {
+		_stretchPopUpDesc->setEnabled(enabled);
+		_stretchPopUp->setEnabled(enabled);
+	} else {
+		_stretchPopUpDesc->setEnabled(false);
+		_stretchPopUp->setEnabled(false);
+	}
+
+	if (g_system->hasFeature(OSystem::kFeatureScalers)) {
+		_scalerPopUpDesc->setEnabled(enabled);
+		_scalerPopUp->setEnabled(enabled);
+		_scaleFactorPopUp->setEnabled(enabled);
+	} else {
+		_scalerPopUpDesc->setEnabled(false);
+		_scalerPopUp->setEnabled(false);
+		_scaleFactorPopUp->setEnabled(false);
+	}
+
+	if (g_system->hasFeature(OSystem::kFeatureFilteringMode))
+		_filteringCheckbox->setEnabled(enabled);
+	else
+		_filteringCheckbox->setEnabled(false);
+
 	if (g_system->hasFeature(OSystem::kFeatureFullscreenMode))
 		_fullscreenCheckbox->setEnabled(enabled);
 	else
@@ -1786,6 +1808,7 @@ void OptionsDialog::reflowLayout() {
 }
 
 void OptionsDialog::setupGraphicsTab() {
+	setGraphicSettingsState(_enableGraphicSettings);
 	if (!_fullscreenCheckbox)
 		return;
 	_gfxPopUpDesc->setVisible(true);


Commit: 26751bab978f92af7af3000d39e4ec7d98ec8b0e
    https://github.com/scummvm/scummvm/commit/26751bab978f92af7af3000d39e4ec7d98ec8b0e
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2021-11-02T16:47:30+02:00

Commit Message:
GUI: Prevent segfault for Options in GMM in-game

Changed paths:
    gui/options.cpp


diff --git a/gui/options.cpp b/gui/options.cpp
index 40532cbfcd..6838a1a66f 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -1808,7 +1808,9 @@ void OptionsDialog::reflowLayout() {
 }
 
 void OptionsDialog::setupGraphicsTab() {
-	setGraphicSettingsState(_enableGraphicSettings);
+	if (_graphicsTabId != -1) {
+		setGraphicSettingsState(_enableGraphicSettings);
+	}
 	if (!_fullscreenCheckbox)
 		return;
 	_gfxPopUpDesc->setVisible(true);




More information about the Scummvm-git-logs mailing list