summaryrefslogtreecommitdiff
path: root/src/signs.cpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-05-26 12:19:54 +0000
committertruelight <truelight@openttd.org>2007-05-26 12:19:54 +0000
commit79fe6c57cce16e78db5e1014e02cfc2f477d9c31 (patch)
treed0159c6e3f538683ed5e469db71b7aeb536b6a7a /src/signs.cpp
parent78be11be407f7496d57d40f4d866942192b6166b (diff)
downloadopenttd-79fe6c57cce16e78db5e1014e02cfc2f477d9c31.tar.xz
(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)
Diffstat (limited to 'src/signs.cpp')
-rw-r--r--src/signs.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/signs.cpp b/src/signs.cpp
index 428fdcf40..8f3f0f365 100644
--- a/src/signs.cpp
+++ b/src/signs.cpp
@@ -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));
}
/**