diff options
| author | Bernhard Liebl | 2018-01-04 18:17:59 +0100 |
|---|---|---|
| committer | Bernhard Liebl | 2018-01-04 18:30:15 +0100 |
| commit | cc64679a2081ae1459fc4570acb41ad134c72ea3 (patch) | |
| tree | 97b8f31a4f239a1890e15dce06bdbaa27feff59a /scene/gui/text_edit.cpp | |
| parent | 2488aff93f93deda27c99cf4811986afeb973438 (diff) | |
| download | godot-cc64679a2081ae1459fc4570acb41ad134c72ea3.tar.gz godot-cc64679a2081ae1459fc4570acb41ad134c72ea3.tar.zst godot-cc64679a2081ae1459fc4570acb41ad134c72ea3.zip | |
Diffstat (limited to 'scene/gui/text_edit.cpp')
| -rw-r--r-- | scene/gui/text_edit.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 5fbc0c906..8bf847766 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1746,15 +1746,15 @@ void TextEdit::indent_left() { void TextEdit::_get_mouse_pos(const Point2i &p_mouse, int &r_row, int &r_col) const { float rows = p_mouse.y; - rows -= cache.style_normal->get_margin(MARGIN_TOP); rows /= get_row_height(); - int lsp = get_line_scroll_pos(true); - int row = cursor.line_ofs + (rows + (round(v_scroll->get_value()) - lsp)); + rows += v_scroll->get_value(); + int row = Math::floor(rows); if (is_hiding_enabled()) { // row will be offset by the hidden rows - int f_ofs = num_lines_from(CLAMP(cursor.line_ofs, 0, text.size() - 1), MIN(rows + 1, text.size() - cursor.line_ofs)) - 1; - row = cursor.line_ofs + (f_ofs + (round(v_scroll->get_value()) - lsp)); + int lsp = get_line_scroll_pos(true); + int f_ofs = num_lines_from(CLAMP(cursor.line_ofs, 0, text.size() - 1), MIN(row + 1 - cursor.line_ofs, text.size() - cursor.line_ofs)) - 1; + row = cursor.line_ofs + f_ofs; row = CLAMP(row, 0, text.size() - num_lines_from(text.size() - 1, -1)); } |
