diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/subsidy_gui.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/subsidy_gui.cpp b/src/subsidy_gui.cpp index dbf427e66..fc4edec04 100644 --- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -13,6 +13,7 @@ #include "economy.h" #include "variables.h" #include "date.h" +#include "cargotype.h" static void HandleSubsidyClick(int y) { @@ -50,22 +51,24 @@ static void HandleSubsidyClick(int y) handle_click: + TownEffect te = GetCargo(s->cargo_type)->town_effect; + /* determine from coordinate for subsidy and try to scroll to it */ offs = s->from; if (s->age >= 12) { xy = GetStation(offs)->xy; - } else if (s->cargo_type == CT_PASSENGERS || s->cargo_type == CT_MAIL) { + } else if (te == TE_PASSENGERS || te == TE_MAIL) { xy = GetTown(offs)->xy; } else { xy = GetIndustry(offs)->xy; - } + if (!ScrollMainWindowToTile(xy)) { /* otherwise determine to coordinate for subsidy and scroll to it */ offs = s->to; if (s->age >= 12) { xy = GetStation(offs)->xy; - } else if (s->cargo_type == CT_PASSENGERS || s->cargo_type == CT_MAIL || s->cargo_type == CT_GOODS || s->cargo_type == CT_FOOD) { + } else if (te == TE_PASSENGERS || te == TE_MAIL || te == TE_GOODS || te == TE_FOOD) { xy = GetTown(offs)->xy; } else { xy = GetIndustry(offs)->xy; |