mirror of https://github.com/OpenTTD/OpenTTD
(svn r19956) -Fix: close list of vehicles with given oil rig in orders when the oil rig is deleted
-Fix (r19952): close the list when it is not stickyrelease/1.1
parent
830e40af19
commit
8bf4a7d1ae
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
|
#include "company_base.h"
|
||||||
#include "roadveh.h"
|
#include "roadveh.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
|
@ -81,7 +82,10 @@ Station::~Station()
|
||||||
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
|
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
|
||||||
|
|
||||||
DeleteWindowById(WC_STATION_VIEW, index);
|
DeleteWindowById(WC_STATION_VIEW, index);
|
||||||
WindowNumber wno = (this->index << 16) | VLW_STATION_LIST | this->owner;
|
|
||||||
|
Owner owner = this->owner;
|
||||||
|
if (!Company::IsValidID(owner)) owner = _local_company;
|
||||||
|
WindowNumber wno = (this->index << 16) | VLW_STATION_LIST | owner;
|
||||||
DeleteWindowById(WC_TRAINS_LIST, wno | (VEH_TRAIN << 11));
|
DeleteWindowById(WC_TRAINS_LIST, wno | (VEH_TRAIN << 11));
|
||||||
DeleteWindowById(WC_ROADVEH_LIST, wno | (VEH_ROAD << 11));
|
DeleteWindowById(WC_ROADVEH_LIST, wno | (VEH_ROAD << 11));
|
||||||
DeleteWindowById(WC_SHIPS_LIST, wno | (VEH_SHIP << 11));
|
DeleteWindowById(WC_SHIPS_LIST, wno | (VEH_SHIP << 11));
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "waypoint_base.h"
|
#include "waypoint_base.h"
|
||||||
#include "vehicle_gui.h"
|
#include "vehicle_gui.h"
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
|
#include "company_base.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draw a waypoint
|
* Draw a waypoint
|
||||||
|
@ -55,7 +56,9 @@ Waypoint::~Waypoint()
|
||||||
DeleteWindowById(WC_WAYPOINT_VIEW, this->index);
|
DeleteWindowById(WC_WAYPOINT_VIEW, this->index);
|
||||||
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
|
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
|
||||||
|
|
||||||
WindowNumber wno = (this->index << 16) | VLW_WAYPOINT_LIST | (this->owner == OWNER_NONE ? _local_company : this->owner);
|
Owner owner = this->owner;
|
||||||
|
if (!Company::IsValidID(owner)) owner = _local_company;
|
||||||
|
WindowNumber wno = (this->index << 16) | VLW_WAYPOINT_LIST | owner;
|
||||||
DeleteWindowById(WC_TRAINS_LIST, wno | (VEH_TRAIN << 11));
|
DeleteWindowById(WC_TRAINS_LIST, wno | (VEH_TRAIN << 11));
|
||||||
DeleteWindowById(WC_SHIPS_LIST, wno | (VEH_SHIP << 11));
|
DeleteWindowById(WC_SHIPS_LIST, wno | (VEH_SHIP << 11));
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "strings_func.h"
|
#include "strings_func.h"
|
||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "company_func.h"
|
#include "company_func.h"
|
||||||
|
#include "company_base.h"
|
||||||
#include "window_func.h"
|
#include "window_func.h"
|
||||||
#include "waypoint_base.h"
|
#include "waypoint_base.h"
|
||||||
|
|
||||||
|
@ -60,6 +61,13 @@ public:
|
||||||
this->OnInvalidateData(0);
|
this->OnInvalidateData(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
~WaypointWindow()
|
||||||
|
{
|
||||||
|
Owner owner = this->owner;
|
||||||
|
if (!Company::IsValidID(owner)) owner = _local_company;
|
||||||
|
DeleteWindowById(GetWindowClassForVehicleType(this->vt), (this->window_number << 16) | (this->vt << 11) | VLW_WAYPOINT_LIST | owner, false);
|
||||||
|
}
|
||||||
|
|
||||||
virtual void SetStringParameters(int widget) const
|
virtual void SetStringParameters(int widget) const
|
||||||
{
|
{
|
||||||
if (widget == WAYPVW_CAPTION) SetDParam(0, this->wp->index);
|
if (widget == WAYPVW_CAPTION) SetDParam(0, this->wp->index);
|
||||||
|
|
Loading…
Reference in New Issue