# HG changeset patch # User smatz # Date 1207261917 0 # Node ID 01a397b0b8baa4e1e98255f71f3b6b9128bc90c3 # Parent 0c214cd8b39e3929a1fccd63a2e383f5129e05e0 (svn r12553) -Fix (r11547): redraw the signal GUI when the signal drag density changes in the patch settings and vice versa diff -r 0c214cd8b39e -r 01a397b0b8ba src/rail_gui.cpp --- a/src/rail_gui.cpp Thu Apr 03 21:54:31 2008 +0000 +++ b/src/rail_gui.cpp Thu Apr 03 22:31:57 2008 +0000 @@ -1328,11 +1328,19 @@ break; case BSW_DRAG_SIGNALS_DENSITY_DECREASE: - if (_patches.drag_signals_density > 1) _patches.drag_signals_density--; + if (_patches.drag_signals_density > 1) { + _patches.drag_signals_density--; + const Window *w = FindWindowById(WC_GAME_OPTIONS, 0); + if (w != NULL) SetWindowDirty(w); + } break; case BSW_DRAG_SIGNALS_DENSITY_INCREASE: - if (_patches.drag_signals_density < 20) _patches.drag_signals_density++; + if (_patches.drag_signals_density < 20) { + _patches.drag_signals_density++; + const Window *w = FindWindowById(WC_GAME_OPTIONS, 0); + if (w != NULL) SetWindowDirty(w); + } break; default: break; diff -r 0c214cd8b39e -r 01a397b0b8ba src/settings.cpp --- a/src/settings.cpp Thu Apr 03 21:54:31 2008 +0000 +++ b/src/settings.cpp Thu Apr 03 22:31:57 2008 +0000 @@ -1208,6 +1208,15 @@ return 0; } +static int32 DragSignalsDensityChanged(int32) +{ + const Window *w = FindWindowById(WC_BUILD_SIGNAL, 0); + + if (w != NULL) SetWindowDirty(w); + + return 0; +} + /** * Check for right TownLayout usage in editor mode. * The No Road mode is not desirable since towns have to be @@ -1404,7 +1413,7 @@ SDT_BOOL(Patches, signal_side, N,NN, true, STR_CONFIG_PATCHES_SIGNALSIDE, RedrawScreen), SDT_BOOL(Patches, always_small_airport, 0,NN, false, STR_CONFIG_PATCHES_SMALL_AIRPORTS, NULL), SDT_BOOL(Patches, enable_signal_gui, S, 0, false, STR_CONFIG_PATCHES_ENABLE_SIGNAL_GUI, NULL), - SDT_VAR(Patches, drag_signals_density,SLE_UINT8,S, 0, 4, 1, 20, 0, STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY,NULL), + SDT_VAR(Patches, drag_signals_density,SLE_UINT8,S, 0, 4, 1, 20, 0, STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY,DragSignalsDensityChanged), SDT_VAR(Patches, semaphore_build_before,SLE_INT32, S, NC, 1975, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_SEMAPHORE_BUILD_BEFORE_DATE, ResetSignalVariant), SDT_CONDVAR(Patches, town_layout, SLE_UINT8, 59, SL_MAX_VERSION, 0, MS, TL_ORIGINAL, TL_NO_ROADS, NUM_TLS - 1, 1, STR_CONFIG_PATCHES_TOWN_LAYOUT, CheckTownLayout),