summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ai/ai_gui.cpp2
-rw-r--r--src/newgrf_gui.cpp2
-rw-r--r--src/settings_gui.cpp4
3 files changed, 4 insertions, 4 deletions
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<NWidgetBase>(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) {