diff --git a/src/smallmap_gui.cpp b/src/smallmap_gui.cpp index 5f9d8b6472..c1744dc3d5 100644 --- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -953,11 +953,12 @@ public: */ _left_button_clicked = false; + const NWidgetBase *wid = this->GetWidget(SM_WIDGET_MAP); Point pt = RemapCoords(this->scroll_x, this->scroll_y, 0); Window *w = FindWindowById(WC_MAIN_WINDOW, 0); w->viewport->follow_vehicle = INVALID_VEHICLE; - w->viewport->dest_scrollpos_x = pt.x + ((_cursor.pos.x - this->left + 2) << 4) - (w->viewport->virtual_width >> 1); - w->viewport->dest_scrollpos_y = pt.y + ((_cursor.pos.y - this->top - 16) << 4) - (w->viewport->virtual_height >> 1); + w->viewport->dest_scrollpos_x = pt.x + ((_cursor.pos.x - this->left + wid->pos_x) << 4) - (w->viewport->virtual_width >> 1); + w->viewport->dest_scrollpos_y = pt.y + ((_cursor.pos.y - this->top - wid->pos_y) << 4) - (w->viewport->virtual_height >> 1); this->SetDirty(); } break;