From 65f51240cde28ea7d778794f48b8b6d022c8995c Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 1 Jun 2012 15:08:40 +0000 Subject: (svn r24313) -Fix: Some obiwans wrt. clicking on setting buttons. --- src/ai/ai_gui.cpp | 2 +- src/newgrf_gui.cpp | 2 +- src/settings_gui.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index 60b7838f8..3f8d4ee4d 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -435,7 +435,7 @@ struct AISettingsWindow : public Window { bool bool_item = (config_item.flags & SCRIPTCONFIG_BOOLEAN) != 0; int x = pt.x - wid->pos_x; - if (_current_text_dir == TD_RTL) x = wid->current_x - x; + if (_current_text_dir == TD_RTL) x = wid->current_x - 1 - x; x -= 4; /* One of the arrows is clicked (or green/red rect in case of bool value) */ if (IsInsideMM(x, 0, SETTING_BUTTON_WIDTH)) { diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 620c476bc..df72c3732 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -321,7 +321,7 @@ struct NewGRFParametersWindow : public Window { const NWidgetBase *wid = this->GetWidget(WID_NP_BACKGROUND); int x = pt.x - wid->pos_x; - if (_current_text_dir == TD_RTL) x = wid->current_x - x; + if (_current_text_dir == TD_RTL) x = wid->current_x - 1 - x; x -= 4; GRFParameterInfo *par_info = (num < this->grf_config->param_info.Length()) ? this->grf_config->param_info[num] : NULL; diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index b9a1d974a..4592f2a87 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1788,7 +1788,7 @@ struct GameSettingsWindow : Window { { if (widget != WID_GS_OPTIONSPANEL) return; - uint btn = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GS_OPTIONSPANEL, SETTINGTREE_TOP_OFFSET - 1); + uint btn = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GS_OPTIONSPANEL, SETTINGTREE_TOP_OFFSET); if (btn == INT_MAX) return; uint cur_row = 0; @@ -1796,7 +1796,7 @@ struct GameSettingsWindow : Window { if (pe == NULL) return; // Clicked below the last setting of the page - int x = (_current_text_dir == TD_RTL ? this->width - pt.x : pt.x) - SETTINGTREE_LEFT_OFFSET - (pe->level + 1) * LEVEL_WIDTH; // Shift x coordinate + int x = (_current_text_dir == TD_RTL ? this->width - 1 - pt.x : pt.x) - SETTINGTREE_LEFT_OFFSET - (pe->level + 1) * LEVEL_WIDTH; // Shift x coordinate if (x < 0) return; // Clicked left of the entry if ((pe->flags & SEF_KIND_MASK) == SEF_SUBTREE_KIND) { -- cgit v1.2.3-70-g09d2