Changeset - r6700:d421e53a3cc4
[Not reviewed]
master
0 2 0
truelight - 17 years ago 2007-05-26 12:19:54
truelight@openttd.org
(svn r9932) -Fix: can't assume a zoom-level with MarkAllViewportsDirty, causing segfaults when trying to load savegames in dedicated server via -g (reported by peter1138)
2 files changed with 10 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/signs.cpp
Show inline comments
 
@@ -64,11 +64,14 @@ void UpdateAllSignVirtCoords()
 
 */
 
static void MarkSignDirty(Sign *si)
 
{
 
	/* We use ZOOM_LVL_MAX here, as every viewport can have an other zoom,
 
		*  and there is no way for us to know which is the biggest. So make the
 
		*  biggest area dirty, and we are safe for sure. */
 
	MarkAllViewportsDirty(
 
		si->sign.left - 6,
 
		si->sign.top  - 3,
 
		si->sign.left + ScaleByZoom(si->sign.width_1 + 12, _cur_dpi->zoom),
 
		si->sign.top  + ScaleByZoom(12, _cur_dpi->zoom));
 
		si->sign.left + ScaleByZoom(si->sign.width_1 + 12, ZOOM_LVL_MAX),
 
		si->sign.top  + ScaleByZoom(12, ZOOM_LVL_MAX));
 
}
 

	
 
/**
src/station.cpp
Show inline comments
 
@@ -122,11 +122,14 @@ void Station::MarkDirty() const
 
	if (sign.width_1 != 0) {
 
		InvalidateWindowWidget(WC_STATION_VIEW, index, 1);
 

	
 
		/* We use ZOOM_LVL_MAX here, as every viewport can have an other zoom,
 
		 *  and there is no way for us to know which is the biggest. So make the
 
		 *  biggest area dirty, and we are safe for sure. */
 
		MarkAllViewportsDirty(
 
			sign.left - 6,
 
			sign.top,
 
			sign.left + ScaleByZoom(sign.width_1 + 12, _cur_dpi->zoom),
 
			sign.top + ScaleByZoom(12, _cur_dpi->zoom));
 
			sign.left + ScaleByZoom(sign.width_1 + 12, ZOOM_LVL_MAX),
 
			sign.top + ScaleByZoom(12, ZOOM_LVL_MAX));
 
	}
 
}
 

	
0 comments (0 inline, 0 general)