summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-02-26 14:10:57 +0000
committersmatz <smatz@openttd.org>2009-02-26 14:10:57 +0000
commit1a940c24e3f0689320cb1047ae13a119b75594d3 (patch)
tree59d18ac6303f7accb510edb46008d9560a828869 /src
parent3fdac6f702b0a2e8534b8f1c26faba02118ed8df (diff)
downloadopenttd-1a940c24e3f0689320cb1047ae13a119b75594d3.tar.xz
(svn r15589) -Fix: drawing of waypoints with invalid owner was broken
-Change: don't take over waypoints without owner, it could belong to a bankrupted company (and the code was broken) - savegame conversion code is a bit more liberal now, too
Diffstat (limited to 'src')
-rw-r--r--src/waypoint.cpp2
-rw-r--r--src/waypoint_gui.cpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/waypoint.cpp b/src/waypoint.cpp
index 81bc5cd86..e34e0c063 100644
--- a/src/waypoint.cpp
+++ b/src/waypoint.cpp
@@ -133,7 +133,7 @@ static Waypoint *FindDeletedWaypointCloseTo(TileIndex tile)
uint thres = 8;
FOR_ALL_WAYPOINTS(wp) {
- if (wp->deleted && (wp->owner == OWNER_NONE || wp->owner == _current_company)) {
+ if (wp->deleted && wp->owner == _current_company) {
uint cur_dist = DistanceManhattan(tile, wp->xy);
if (cur_dist < thres) {
diff --git a/src/waypoint_gui.cpp b/src/waypoint_gui.cpp
index f9cb86a00..91222f3ac 100644
--- a/src/waypoint_gui.cpp
+++ b/src/waypoint_gui.cpp
@@ -36,7 +36,7 @@ public:
WaypointWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number)
{
this->wp = GetWaypoint(this->window_number);
- this->owner = this->wp->owner;
+ if (this->wp->owner != OWNER_NONE) this->owner = this->wp->owner;
this->flags4 |= WF_DISABLE_VP_SCROLL;
InitializeWindowViewport(this, 3, 17, 254, 86, this->wp->xy, ZOOM_LVL_MIN);
@@ -53,6 +53,9 @@ public:
{
/* You can only change your own waypoints */
this->SetWidgetDisabledState(WAYPVW_RENAME, this->wp->owner != _local_company);
+ /* Disable the widget for waypoints with no owner (after company bankrupt) */
+ this->SetWidgetDisabledState(WAYPVW_SHOW_TRAINS, this->wp->owner == OWNER_NONE);
+
SetDParam(0, this->wp->index);
this->DrawWidgets();