diff --git a/src/ui/mouse.cpp b/src/ui/mouse.cpp index cc84b2728..db830f3d5 100644 --- a/src/ui/mouse.cpp +++ b/src/ui/mouse.cpp @@ -1923,7 +1923,10 @@ void UIHandleButtonUp(unsigned button) const Vec2i cursorTilePos = {UI.MouseViewport->Viewport2MapX(CursorX), UI.MouseViewport->Viewport2MapY(CursorY)}; if (Map.IsFieldVisible(ThisPlayer, cursorTilePos) || ReplayRevealMap) { - unit = UnitOnScreen(unit, cursorTilePos.x, cursorTilePos.y); + int pixelposx = CursorX - UI.MouseViewport->X + UI.MouseViewport->MapX * TileSizeX + UI.MouseViewport->OffsetX; + int pixelposy = CursorY - UI.MouseViewport->Y + UI.MouseViewport->MapY * TileSizeY + UI.MouseViewport->OffsetY; + + unit = UnitOnScreen(unit, pixelposx, pixelposy); } if (unit) { // FIXME: Not nice coded, button number hardcoded!