summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/settings_gui.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp
index 3335ffc18..ca5461995 100644
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -867,32 +867,28 @@ struct PatchesSelectionWindow : Window {
{
switch (widget) {
case PATCHSEL_OPTIONSPANEL: {
- const PatchPage *page = &_patches_page[this->page];
- const SettingDesc *sd;
- void *var;
- int32 value;
- int x, y;
- byte btn;
-
- y = pt.y - SETTINGTREE_TOP_OFFSET; // Shift y coordinate
+ int y = pt.y - SETTINGTREE_TOP_OFFSET; // Shift y coordinate
if (y < 0) return; // Clicked above first entry
- x = pt.x - SETTINGTREE_LEFT_OFFSET; // Shift x coordinate
+ int x = pt.x - SETTINGTREE_LEFT_OFFSET; // Shift x coordinate
if (x < 0) return; // Clicked left of the entry
- btn = y / SETTING_HEIGHT; // Compute which setting is selected
+ byte btn = y / SETTING_HEIGHT; // Compute which setting is selected
if (y % SETTING_HEIGHT > SETTING_HEIGHT - 2) return; // Clicked too low at the setting
+
+ const PatchPage *page = &_patches_page[this->page];
+
if (btn >= page->num) return; // Clicked below the last setting of the page
- sd = page->entries[btn].setting;
+ const SettingDesc *sd = page->entries[btn].setting;
/* return if action is only active in network, or only settable by server */
if (!(sd->save.conv & SLF_NETWORK_NO) && _networking && !_network_server) return;
if ((sd->desc.flags & SGF_NETWORK_ONLY) && !_networking) return;
if ((sd->desc.flags & SGF_NO_NETWORK) && _networking) return;
- var = GetVariableAddress(patches_ptr, &sd->save);
- value = (int32)ReadValue(var, sd->save.conv);
+ void *var = GetVariableAddress(patches_ptr, &sd->save);
+ int32 value = (int32)ReadValue(var, sd->save.conv);
/* clicked on the icon on the left side. Either scroller or bool on/off */
if (x < 21) {