[Scummvm-cvs-logs] scummvm master -> 4c3b4835aae1fe671253a65f6a10649c5ab2014c

bluegr md5 at scummvm.org
Sun Jul 15 15:56:05 CEST 2012


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

Summary:
4c3b4835aa TINSEL: Fix bug #3459999 - "TINSEL: DW Crash in Subtitle Menu"


Commit: 4c3b4835aae1fe671253a65f6a10649c5ab2014c
    https://github.com/scummvm/scummvm/commit/4c3b4835aae1fe671253a65f6a10649c5ab2014c
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-15T06:54:59-07:00

Commit Message:
TINSEL: Fix bug #3459999 - "TINSEL: DW Crash in Subtitle Menu"

Changed paths:
    engines/tinsel/dialogs.cpp



diff --git a/engines/tinsel/dialogs.cpp b/engines/tinsel/dialogs.cpp
index fbe9e8d..c33b412 100644
--- a/engines/tinsel/dialogs.cpp
+++ b/engines/tinsel/dialogs.cpp
@@ -1038,18 +1038,20 @@ static bool RePosition();
 static bool LanguageChange() {
 	LANGUAGE nLang = _vm->_config->_language;
 
-	if (_vm->getFeatures() & GF_USE_3FLAGS) {
-		// VERY quick dodgy bodge
-		if (cd.selBox == 0)
-			nLang = TXT_FRENCH;		// = 1
-		else if (cd.selBox == 1)
-			nLang = TXT_GERMAN;		// = 2
-		else
-			nLang = TXT_SPANISH;	// = 4
-	} else if (_vm->getFeatures() & GF_USE_4FLAGS) {
-		nLang = (LANGUAGE)(cd.selBox + 1);
-	} else if (_vm->getFeatures() & GF_USE_5FLAGS) {
-		nLang = (LANGUAGE)cd.selBox;
+	if ((_vm->getFeatures() & GF_USE_3FLAGS) || (_vm->getFeatures() & GF_USE_4FLAGS) || (_vm->getFeatures() & GF_USE_5FLAGS)) {
+		// Languages: TXT_ENGLISH, TXT_FRENCH, TXT_GERMAN, TXT_ITALIAN, TXT_SPANISH
+		// 5 flag versions include English
+		int selected = (_vm->getFeatures() & GF_USE_5FLAGS) ? cd.selBox : cd.selBox + 1;
+		// Make sure that a language flag has been selected. If the user has
+		// changed the language speed slider and hasn't clicked on a flag, it
+		// won't be selected.
+		if (selected >= 0 && selected <= 4) {
+			nLang = (LANGUAGE)selected;
+
+			// 3 flag versions don't include Italian
+			if (selected >= 3 && (_vm->getFeatures() & GF_USE_3FLAGS))
+				nLang = TXT_SPANISH;
+		}
 	}
 
 	if (nLang != _vm->_config->_language) {






More information about the Scummvm-git-logs mailing list