From f531a8971f8f8b266b167a3db0c25cdeb9f33f8d Mon Sep 17 00:00:00 2001
From: Jaime Passos <lazymyuutsu@gmail.com>
Date: Tue, 10 Dec 2019 23:40:15 -0300
Subject: [PATCH] Update m_menu.c

---
 src/m_menu.c | 31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/src/m_menu.c b/src/m_menu.c
index 3d202e4d17..d5fc5f357a 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -7675,6 +7675,18 @@ static void M_DrawLoadGameData(void)
 	INT32 i, savetodraw, x, y, hsep = 90;
 	skin_t *charskin = NULL;
 
+	// Lactozilla: Intentional, because there is
+	// no way to know if those patches were ever
+	// flushed from memory, other than pointers
+	// to nowhere.
+	savselp[0] = W_CachePatchName("SAVEBACK", PU_PATCH);
+	savselp[1] = W_CachePatchName("SAVENONE", PU_PATCH);
+	savselp[2] = W_CachePatchName("ULTIMATE", PU_PATCH);
+
+	savselp[3] = W_CachePatchName("GAMEDONE", PU_PATCH);
+	savselp[4] = W_CachePatchName("BLACXLVL", PU_PATCH);
+	savselp[5] = W_CachePatchName("BLANKLVL", PU_PATCH);
+
 	if (vid.width != BASEVIDWIDTH*vid.dupx)
 		hsep = (hsep*vid.width)/(BASEVIDWIDTH*vid.dupx);
 
@@ -8153,25 +8165,6 @@ static void M_ReadSaveStrings(void)
 		}
 		M_ReadSavegameInfo(i);
 	}
-
-	if (savselp[0]) // never going to have some provided but not all, saves individually checking
-	{
-		W_UnlockCachedPatch(savselp[0]);
-		W_UnlockCachedPatch(savselp[1]);
-		W_UnlockCachedPatch(savselp[2]);
-
-		W_UnlockCachedPatch(savselp[3]);
-		W_UnlockCachedPatch(savselp[4]);
-		W_UnlockCachedPatch(savselp[5]);
-	}
-
-	savselp[0] = W_CachePatchName("SAVEBACK", PU_PATCH);
-	savselp[1] = W_CachePatchName("SAVENONE", PU_PATCH);
-	savselp[2] = W_CachePatchName("ULTIMATE", PU_PATCH);
-
-	savselp[3] = W_CachePatchName("GAMEDONE", PU_PATCH);
-	savselp[4] = W_CachePatchName("BLACXLVL", PU_PATCH);
-	savselp[5] = W_CachePatchName("BLANKLVL", PU_PATCH);
 }
 
 //
-- 
GitLab