From 537b7ed3c68d4f97343c4cc8bb036b713d9d1447 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Thu, 16 Mar 2006 00:22:36 +0000 Subject: [PATCH] (svn r3896) - [Patches] Fix: Honour any conditional settings when retrieving the setting entries. --- settings.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/settings.c b/settings.c index 879c9ec7c4..943824f9d5 100644 --- a/settings.c +++ b/settings.c @@ -1384,6 +1384,7 @@ int32 CmdChangePatchSetting(int x, int y, uint32 flags, uint32 p1, uint32 p2) const SettingDesc *sd = GetSettingDescription(p1); if (sd == NULL) return CMD_ERROR; + if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) return CMD_ERROR; if (flags & DC_EXEC) { Patches *patches_ptr = (_game_mode == GM_MENU) ? &_patches_newgame : &_patches; @@ -1428,6 +1429,7 @@ static const SettingDesc *GetPatchFromName(const char *name, uint *i) const SettingDesc *sd; for (*i = 0, sd = _patch_settings; sd->save.cmd != SL_END; sd++, (*i)++) { + if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue; if (strcmp(sd->desc.name, name) == 0) return sd; }