summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-26 13:45:22 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-26 13:45:22 +0100
commit37766c4ef8d5104b210f38e97a600a126e7f9e6f (patch)
treec6feb6013d846027a2515f2027eddc8d69de3c91
parent4dec783017d1db7dddb6d7f3feb741dfb9ddb0d5 (diff)
parent63ac8c1106a295b244fbaffb2837bae363ee90f1 (diff)
downloadredot-engine-37766c4ef8d5104b210f38e97a600a126e7f9e6f.tar.gz
Merge pull request #89625 from kitbdev/not-the-end-of-the-line
Fix TextEdit selection end of line drawing for wrapped lines and gaps
-rw-r--r--scene/gui/text_edit.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 29e4956588..a7cd18e1a8 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -1113,7 +1113,7 @@ void TextEdit::_notification(int p_what) {
Vector<Vector2> sel = TS->shaped_text_get_selection(rid, sel_from, sel_to);
// Show selection at the end of line.
- if (line < get_selection_to_line(c)) {
+ if (line_wrap_index == line_wrap_amount && line < get_selection_to_line(c)) {
if (rtl) {
sel.push_back(Vector2(-char_w, 0));
} else {
@@ -1123,7 +1123,7 @@ void TextEdit::_notification(int p_what) {
}
for (int j = 0; j < sel.size(); j++) {
- Rect2 rect = Rect2(sel[j].x + char_margin + ofs_x, ofs_y, Math::ceil(sel[j].y - sel[j].x), row_height);
+ Rect2 rect = Rect2(sel[j].x + char_margin + ofs_x, ofs_y, Math::ceil(sel[j].y) - sel[j].x, row_height);
if (rect.position.x + rect.size.x <= xmargin_beg || rect.position.x > xmargin_end) {
continue;
}