summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/train_gui.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/train_gui.cpp b/src/train_gui.cpp
index 5d5fe3ab7..7888b0d65 100644
--- a/src/train_gui.cpp
+++ b/src/train_gui.cpp
@@ -61,8 +61,10 @@ static int HighlightDragPosition(int px, int max_width, VehicleID selection)
bool rtl = _current_text_dir == TD_RTL;
assert(selection != INVALID_VEHICLE);
- Point offset;
- int dragged_width = Train::Get(selection)->GetDisplayImageWidth(&offset) + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
+ int dragged_width = WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT;
+ for (Train *t = Train::Get(selection); t != NULL; t = t->HasArticulatedPart() ? t->GetNextArticulatedPart() : NULL) {
+ dragged_width += t->GetDisplayImageWidth(NULL);
+ }
int drag_hlight_left = rtl ? max(px -dragged_width, 0) : px;
int drag_hlight_right = rtl ? px : min(px + dragged_width, max_width);