mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r12939) -Codechange: do not use the window proc to determine whether a toolbar is a rail toolbar, but use the window number.
This commit is contained in:
parent
a26b25aecc
commit
8ca1035316
@ -139,8 +139,8 @@ void ShowBuildAirToolbar()
|
||||
{
|
||||
if (!IsValidPlayer(_current_player)) return;
|
||||
|
||||
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
Window *w = AllocateWindowDescFront(&_air_toolbar_desc, 0);
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
Window *w = AllocateWindowDescFront(&_air_toolbar_desc, TRANSPORT_AIR);
|
||||
if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
|
||||
}
|
||||
|
||||
|
@ -232,8 +232,8 @@ void ShowBuildDocksToolbar()
|
||||
{
|
||||
if (!IsValidPlayer(_current_player)) return;
|
||||
|
||||
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
Window *w = AllocateWindowDesc(&_build_docks_toolbar_desc);
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
Window *w = AllocateWindowDescFront(&_build_docks_toolbar_desc, TRANSPORT_WATER);
|
||||
if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
|
||||
}
|
||||
|
||||
|
@ -56,9 +56,10 @@ enum TransportType {
|
||||
* the values for road and rail.
|
||||
*/
|
||||
TRANSPORT_BEGIN = 0,
|
||||
TRANSPORT_RAIL = 0,
|
||||
TRANSPORT_ROAD = 1,
|
||||
TRANSPORT_WATER, // = 2
|
||||
TRANSPORT_RAIL = TRANSPORT_BEGIN,
|
||||
TRANSPORT_ROAD,
|
||||
TRANSPORT_WATER,
|
||||
TRANSPORT_AIR,
|
||||
TRANSPORT_END,
|
||||
INVALID_TRANSPORT = 0xff,
|
||||
};
|
||||
|
@ -748,10 +748,10 @@ void ShowBuildRailToolbar(RailType railtype, int button)
|
||||
if (!ValParamRailtype(railtype)) return;
|
||||
|
||||
// don't recreate the window if we're clicking on a button and the window exists.
|
||||
if (button < 0 || !(w = FindWindowById(WC_BUILD_TOOLBAR, 0)) || w->wndproc != BuildRailToolbWndProc) {
|
||||
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
if (button < 0 || !(w = FindWindowById(WC_BUILD_TOOLBAR, TRANSPORT_RAIL))) {
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
_cur_railtype = railtype;
|
||||
w = AllocateWindowDesc(&_build_rail_desc);
|
||||
w = AllocateWindowDescFront(&_build_rail_desc, TRANSPORT_RAIL);
|
||||
SetupRailToolbar(railtype, w);
|
||||
}
|
||||
|
||||
@ -1597,8 +1597,8 @@ void ReinitGuiAfterToggleElrail(bool disable)
|
||||
if (disable && _last_built_railtype == RAILTYPE_ELECTRIC) {
|
||||
Window *w;
|
||||
_last_built_railtype = _cur_railtype = RAILTYPE_RAIL;
|
||||
w = FindWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
if (w != NULL && w->wndproc == BuildRailToolbWndProc) {
|
||||
w = FindWindowById(WC_BUILD_TOOLBAR, TRANSPORT_RAIL);
|
||||
if (w != NULL) {
|
||||
SetupRailToolbar(_cur_railtype, w);
|
||||
SetWindowDirty(w);
|
||||
}
|
||||
@ -1648,8 +1648,8 @@ static void SetDefaultRailGui()
|
||||
}
|
||||
|
||||
_last_built_railtype = _cur_railtype = rt;
|
||||
Window *w = FindWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
if (w != NULL && w->wndproc == BuildRailToolbWndProc) {
|
||||
Window *w = FindWindowById(WC_BUILD_TOOLBAR, TRANSPORT_RAIL);
|
||||
if (w != NULL) {
|
||||
SetupRailToolbar(_cur_railtype, w);
|
||||
SetWindowDirty(w);
|
||||
}
|
||||
|
@ -682,8 +682,8 @@ void ShowBuildRoadToolbar(RoadType roadtype)
|
||||
if (!IsValidPlayer(_current_player)) return;
|
||||
_cur_roadtype = roadtype;
|
||||
|
||||
DeleteWindowById(WC_BUILD_TOOLBAR, 0);
|
||||
Window *w = AllocateWindowDesc(roadtype == ROADTYPE_ROAD ? &_build_road_desc : &_build_tramway_desc);
|
||||
DeleteWindowByClass(WC_BUILD_TOOLBAR);
|
||||
Window *w = AllocateWindowDescFront(roadtype == ROADTYPE_ROAD ? &_build_road_desc : &_build_tramway_desc, TRANSPORT_ROAD);
|
||||
if (_patches.link_terraform_toolbar) ShowTerraformToolbar(w);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user