Changeset - r17480:5461d9a79ce5
[Not reviewed]
master
0 2 0
frosch - 13 years ago 2011-03-13 21:33:30
frosch@openttd.org
(svn r22245) -Codechange: Make vehicle lists handle command-/GUI-scope invalidations themself.
2 files changed with 4 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/vehicle.cpp
Show inline comments
 
@@ -2270,7 +2270,7 @@ void Vehicle::RemoveFromShared()
 
	} else if (were_first) {
 
		/* If we were the first one, update to the new first one.
 
		 * Note: FirstShared() is already the new first */
 
		InvalidateWindowData(GetWindowClassForVehicleType(this->type), vli.Pack(), this->FirstShared()->index | (1U << 31), true);
 
		InvalidateWindowData(GetWindowClassForVehicleType(this->type), vli.Pack(), this->FirstShared()->index | (1U << 31));
 
	}
 

	
 
	this->next_shared     = NULL;
src/vehicle_gui.cpp
Show inline comments
 
@@ -1609,13 +1609,14 @@ public:
 
	 */
 
	virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
 
	{
 
		if (!gui_scope) return;
 
		if (HasBit(data, 31) && this->vli.type == VL_SHARED_ORDERS) {
 
		if (!gui_scope && HasBit(data, 31) && this->vli.type == VL_SHARED_ORDERS) {
 
			/* Needs to be done in command-scope, so everything stays valid */
 
			this->vli.index = GB(data, 0, 20);
 
			this->window_number = this->vli.Pack();
 
			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,
0 comments (0 inline, 0 general)