diff src/graph_gui.cpp @ 17486:e7672bafbe1c draft

(svn r22241) -Codechange: Add additional to-be-used parameter to OnInvalidateData().
author frosch <frosch@openttd.org>
date Sun, 13 Mar 2011 21:31:29 +0000 (2011-03-13)
parents c62cecf4dade
children b50ba9cf01a9
line wrap: on
line diff
--- a/src/graph_gui.cpp
+++ b/src/graph_gui.cpp
@@ -91,8 +91,14 @@
 		InvalidateWindowData(WC_COMPANY_VALUE, 0);
 	}
 
-	virtual void OnInvalidateData(int data)
+	/**
+	 * Some data on this window has become invalid.
+	 * @param data Information about the changed data.
+	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
+	 */
+	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
+		if (!gui_scope) return;
 		if (Company::IsValidID(data)) return;
 
 		SetBit(_legend_excluded_companies, data);
@@ -543,8 +549,14 @@
 		this->UpdateStatistics(false);
 	}
 
-	virtual void OnInvalidateData(int data)
+	/**
+	 * Some data on this window has become invalid.
+	 * @param data Information about the changed data.
+	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
+	 */
+	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
+		if (!gui_scope) return;
 		this->UpdateStatistics(true);
 	}
 
@@ -1013,8 +1025,14 @@
 		/* Override default OnTick */
 	}
 
-	virtual void OnInvalidateData(int data)
+	/**
+	 * Some data on this window has become invalid.
+	 * @param data Information about the changed data.
+	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
+	 */
+	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
+		if (!gui_scope) return;
 		this->OnHundredthTick();
 	}
 
@@ -1247,8 +1265,14 @@
 		}
 	}
 
-	virtual void OnInvalidateData(int data)
+	/**
+	 * Some data on this window has become invalid.
+	 * @param data Information about the changed data.
+	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
+	 */
+	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
+		if (!gui_scope) return;
 		if (data == 0) {
 			this->companies.ForceRebuild();
 		} else {
@@ -1488,11 +1512,13 @@
 	}
 
 	/**
-	 * Invalidate the data of this window.
+	 * Some data on this window has become invalid.
 	 * @param data the company ID of the company that is going to be removed
+	 * @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
 	 */
-	virtual void OnInvalidateData(int data)
+	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
+		if (!gui_scope) return;
 		/* Disable the companies who are not active */
 		for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) {
 			this->SetWidgetDisabledState(i + PRW_COMPANY_FIRST, !Company::IsValidID(i));