(svn r4494) - NewGRF: Clean up and reset custom texts
authorpeter1138
Fri, 21 Apr 2006 06:55:47 +0000
changeset 3602 cf57727a41d4
parent 3601 138bf309cf27
child 3603 245bd93ea8e5
(svn r4494) - NewGRF: Clean up and reset custom texts
newgrf_text.c
--- a/newgrf_text.c	Fri Apr 21 03:00:20 2006 +0000
+++ b/newgrf_text.c	Fri Apr 21 06:55:47 2006 +0000
@@ -236,15 +236,24 @@
 
 /**
  * House cleaning.
- * TODO : Have to be written.
+ * Remove all strings and reset the text counter.
  */
 void CleanUpStrings(void)
 {
 	uint id;
 
-	GRFText *text_to_clear;
-
 	for (id = 0; id < _num_grf_texts; id++) {
-		text_to_clear = _grf_text[id].textholder;
+		GRFText *grftext = _grf_text[id].textholder;
+		while (grftext != NULL) {
+			GRFText *grftext2 = grftext->next;
+			free(grftext->text);
+			free(grftext);
+			grftext = grftext2;
+		}
+		_grf_text[id].grfid      = 0;
+		_grf_text[id].stringid   = 0;
+		_grf_text[id].textholder = NULL;
 	}
+
+	_num_grf_texts = 0;
 }