changeset 17492:b50ba9cf01a9 draft

(svn r22247) -Codechange: Update comments wrt. ForceRebuild() in command-scope.
author frosch <frosch@openttd.org>
date Sun, 13 Mar 2011 21:34:21 +0000
parents 9314683faeb2
children 9e2b60947a54
files src/autoreplace_gui.cpp src/depot_gui.cpp src/graph_gui.cpp src/group_gui.cpp src/industry_gui.cpp src/network/network_gui.cpp src/signs_gui.cpp src/station_gui.cpp src/town_gui.cpp src/vehicle_gui.cpp
diffstat 10 files changed, 11 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/src/autoreplace_gui.cpp
+++ b/src/autoreplace_gui.cpp
@@ -498,8 +498,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		if (data != 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->engines[0].ForceRebuild();
 		} else {
 			this->engines[1].ForceRebuild();
--- a/src/depot_gui.cpp
+++ b/src/depot_gui.cpp
@@ -642,7 +642,6 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		this->generate_list = true;
 	}
 
--- a/src/graph_gui.cpp
+++ b/src/graph_gui.cpp
@@ -1272,8 +1272,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->companies.ForceRebuild();
 		} else {
 			this->companies.ForceResort();
--- a/src/group_gui.cpp
+++ b/src/group_gui.cpp
@@ -260,11 +260,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
-		/* We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->vehicles.ForceRebuild();
 			this->groups.ForceRebuild();
 		} else {
@@ -272,6 +269,7 @@
 			this->groups.ForceResort();
 		}
 
+		/* Process ID-invalidation in command-scope as well */
 		if (this->group_rename != INVALID_GROUP && !Group::IsValidID(this->group_rename)) {
 			DeleteWindowByClass(WC_QUERY_STRING);
 			this->group_rename = INVALID_GROUP;
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -1365,11 +1365,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
-		/* We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->industries.ForceRebuild();
 		} else {
 			this->industries.ForceResort();
--- a/src/network/network_gui.cpp
+++ b/src/network/network_gui.cpp
@@ -801,7 +801,6 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		if (data == 1) {
 			this->server = NULL;
 			this->list_pos = SLP_INVALID;
--- a/src/signs_gui.cpp
+++ b/src/signs_gui.cpp
@@ -374,15 +374,11 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
 		/* When there is a filter string, we always need to rebuild the list even if
 		 * the amount of signs in total is unchanged, as the subset of signs that is
-		 * accepted by the filter might has changed.
-		 *
-		 * We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
+		 * accepted by the filter might has changed. */
 		if (data == 0 || !StrEmpty(this->filter_string)) { // New or deleted sign, or there is a filter string
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->signs.ForceRebuild();
 		} else { // Change of sign contents while there is no filter string
 			this->signs.ForceResort();
--- a/src/station_gui.cpp
+++ b/src/station_gui.cpp
@@ -694,11 +694,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
-		/* We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->stations.ForceRebuild();
 		} else {
 			this->stations.ForceResort();
--- a/src/town_gui.cpp
+++ b/src/town_gui.cpp
@@ -876,11 +876,8 @@
 	 */
 	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 	{
-		if (!gui_scope) return;
-		/* We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->towns.ForceRebuild();
 		} else {
 			this->towns.ForceResort();
--- a/src/vehicle_gui.cpp
+++ b/src/vehicle_gui.cpp
@@ -1616,12 +1616,9 @@
 			this->vehicles.ForceRebuild();
 			return;
 		}
-		if (!gui_scope) return;
-
-		/* We can only set the trigger for resorting/rebuilding.
-		 * We cannot safely resort at this point, as there might be multiple scheduled invalidations,
-		 * and a rebuild needs to be done first though it is scheduled later. */
+
 		if (data == 0) {
+			/* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */
 			this->vehicles.ForceRebuild();
 		} else {
 			this->vehicles.ForceResort();