summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/signs.cpp7
-rw-r--r--src/station.cpp7
2 files changed, 10 insertions, 4 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));
}
/**
diff --git a/src/station.cpp b/src/station.cpp
index 2c17406f0..2234e8417 100644
--- a/src/station.cpp
+++ b/src/station.cpp
@@ -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));
}
}