From fef77ca53e2d3a381889aecc6739053f1582143b Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 24 Apr 2010 13:22:17 +0000 Subject: [PATCH] (svn r19705) -Change: reinitialise the windows when changing the newgrf_developer_tools setting --- src/settings.cpp | 12 ++++++++++++ src/table/settings.h | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/settings.cpp b/src/settings.cpp index a50c240c04..ae3e13c786 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -679,6 +679,18 @@ static bool RedrawScreen(int32 p1) return true; } +/** + * Reinitalise all windows, i.e. construct their windows + * from the begin. For example to show a particular button + * that was previously hidden. + * @param p1 ignored + */ +static bool ReinitWindows(int32 p1) +{ + ReInitAllWindows(); + return true; +} + /** * Redraw the smallmap after a colour scheme change. * @param p1 Callback parameter. diff --git a/src/table/settings.h b/src/table/settings.h index c4eba3dedc..0990e41165 100644 --- a/src/table/settings.h +++ b/src/table/settings.h @@ -13,6 +13,7 @@ static bool v_PositionMainToolbar(int32 p1); static bool PopulationInLabelActive(int32 p1); static bool RedrawScreen(int32 p1); +static bool ReinitWindows(int32 p1); static bool RedrawSmallmap(int32 p1); static bool InvalidateDetailsWindow(int32 p1); static bool InvalidateStationBuildWindow(int32 p1); @@ -605,7 +606,7 @@ const SettingDesc _settings[] = { SDTC_BOOL(gui.show_date_in_logs, S, 0, false, STR_NULL, NULL), #endif SDTC_VAR(gui.developer, SLE_UINT8, S, 0, 1, 0, 2, 0, STR_NULL, NULL), - SDTC_BOOL(gui.newgrf_developer_tools, S, 0, false, STR_NULL, NULL), + SDTC_BOOL(gui.newgrf_developer_tools, S, 0, false, STR_NULL, ReinitWindows), SDTC_BOOL(gui.ai_developer_tools, S, 0, false, STR_NULL, NULL), SDTC_VAR(gui.console_backlog_timeout, SLE_UINT16, S, 0, 100, 10, 65500, 0, STR_NULL, NULL), SDTC_VAR(gui.console_backlog_length, SLE_UINT16, S, 0, 100, 10, 65500, 0, STR_NULL, NULL),