(svn r771) Do not give a file new {struct GRFFile} if it was already loaded once. Eliminates those double entries in the newgrf manager and also some possible memory leaks.
authorpasky
Mon, 22 Nov 2004 22:51:19 +0000
changeset 489 9c8e1806935e
parent 488 8fb5f00d6d90
child 490 83455cd1cc55
(svn r771) Do not give a file new {struct GRFFile} if it was already loaded once. Eliminates those double entries in the newgrf manager and also some possible memory leaks.
newgrf.c
--- a/newgrf.c	Mon Nov 22 22:22:03 2004 +0000
+++ b/newgrf.c	Mon Nov 22 22:51:19 2004 +0000
@@ -1989,6 +1989,14 @@
 {
 	struct GRFFile *newfile;
 
+	newfile = GetFileByFilename(filename);
+	if (newfile) {
+		/* We already loaded it once. */
+		newfile->sprite_offset = sprite_offset;
+		_cur_grffile = newfile;
+		return;
+	}
+
 	newfile = calloc(1, sizeof(struct GRFFile));
 
 	if (newfile == NULL)