diff --git a/src/viewport.cpp b/src/viewport.cpp index f1080408c3..1f40ff8e71 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -1759,10 +1759,10 @@ void ViewportSign::MarkDirty(ZoomLevel maxzoom) const Rect zoomlevels[ZOOM_LVL_COUNT]; for (ZoomLevel zoom = ZOOM_LVL_BEGIN; zoom != ZOOM_LVL_END; zoom++) { - /* FIXME: This doesn't switch to width_small when appropriate. */ - zoomlevels[zoom].left = this->center - ScaleByZoom(this->width_normal / 2 + 1, zoom); + const int width = zoom >= ZOOM_LVL_OUT_16X ? this->width_small : this->width_normal ; + zoomlevels[zoom].left = this->center - ScaleByZoom(width / 2 + 1, zoom); zoomlevels[zoom].top = this->top - ScaleByZoom(1, zoom); - zoomlevels[zoom].right = this->center + ScaleByZoom(this->width_normal / 2 + 1, zoom); + zoomlevels[zoom].right = this->center + ScaleByZoom(width / 2 + 1, zoom); zoomlevels[zoom].bottom = this->top + ScaleByZoom(VPSM_TOP + FONT_HEIGHT_NORMAL + VPSM_BOTTOM + 1, zoom); }