Changeset - r13960:40c98770160c
[Not reviewed]
master
0 2 0
rubidium - 14 years ago 2009-12-15 01:38:55
rubidium@openttd.org
(svn r18508) -Fix [FS#3372]: if a rail station class had less data than capacity it would try to set a negative position
2 files changed with 2 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/core/math_func.hpp
Show inline comments
 
@@ -150,6 +150,7 @@ static FORCEINLINE T *AlignPtr(T *x, uin
 
template <typename T>
 
static FORCEINLINE T Clamp(const T a, const T min, const T max)
 
{
 
	assert(min <= max);
 
	if (a <= min) return min;
 
	if (a >= max) return max;
 
	return a;
src/rail_gui.cpp
Show inline comments
 
@@ -1017,7 +1017,7 @@ public:
 

	
 
			this->vscroll.SetCount(_railstation.station_count);
 
			this->vscroll.SetCapacity(GB(this->GetWidget<NWidgetCore>(BRSW_NEWST_LIST)->widget_data, MAT_ROW_START, MAT_ROW_BITS));
 
			this->vscroll.SetPosition(Clamp(_railstation.station_type - 2, 0, this->vscroll.GetCount() - this->vscroll.GetCapacity()));
 
			this->vscroll.SetPosition(Clamp(_railstation.station_type - 2, 0, max(this->vscroll.GetCount() - this->vscroll.GetCapacity(), 0)));
 
		} else {
 
			/* New stations are not available, so ensure the default station
 
			 * type is 'selected'. */
0 comments (0 inline, 0 general)