(svn r5800) - Fix: When directories were changed in 'Play Scenario', pressing 'New Game' showed scenarios from that directory, not the default one. Bug has been present for a pretty long time, weird nobody noticed this.
authorDarkvater
Mon, 07 Aug 2006 09:32:29 +0000
changeset 4235 f5ad8ebce258
parent 4234 2eff57fbe7d6
child 4236 8f21cc1d7095
(svn r5800) - Fix: When directories were changed in 'Play Scenario', pressing 'New Game' showed scenarios from that directory, not the default one. Bug has been present for a pretty long time, weird nobody noticed this.
fios.c
--- a/fios.c	Mon Aug 07 09:21:30 2006 +0000
+++ b/fios.c	Mon Aug 07 09:32:29 2006 +0000
@@ -357,14 +357,15 @@
  */
 FiosItem *FiosGetScenarioList(int mode)
 {
-	static char *_fios_scn_path = NULL;
+	static char *fios_scn_path = NULL;
 
-	if (_fios_scn_path == NULL) {
-		_fios_scn_path = malloc(MAX_PATH);
-		ttd_strlcpy(_fios_scn_path, _path.scenario_dir, MAX_PATH);
+	/* Copy the default path on first run or on 'New Game' */
+	if (mode == SLD_NEW_GAME || fios_scn_path == NULL) {
+		if (fios_scn_path == NULL) fios_scn_path = malloc(MAX_PATH);
+		ttd_strlcpy(fios_scn_path, _path.scenario_dir, MAX_PATH);
 	}
 
-	_fios_path = _fios_scn_path;
+	_fios_path = fios_scn_path;
 
 	return FiosGetFileList(mode, &FiosGetScenarioListCallback);
 }