From 67cb0f6762768ee0d32adef1d7307ff7bb985407 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 30 Jan 2025 23:40:14 +0900 Subject: Fix editing of text containing surrogate characters. This relates to issue #162. Signed-off-by: Michele Calgaro (cherry picked from commit 9c648bea9bfb1113c070a05b36f78ff006d0877a) --- src/kernel/qrichtext_p.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/kernel/qrichtext_p.cpp') diff --git a/src/kernel/qrichtext_p.cpp b/src/kernel/qrichtext_p.cpp index 022eb13de..5a6eca7cf 100644 --- a/src/kernel/qrichtext_p.cpp +++ b/src/kernel/qrichtext_p.cpp @@ -114,15 +114,15 @@ int TQTextCursor::x() const return 0; TQTextStringChar *c = para->at( idx ); int curx = c->x; - if ( !c->rightToLeft && - c->c.isSpace() && - idx > 0 && - para->at( idx - 1 )->c != '\t' && - !c->lineStart && - ( para->alignment() & TQt::AlignJustify ) == TQt::AlignJustify ) + if ( !c->rightToLeft && c->c.isSpace() && idx > 0 && para->at( idx - 1 )->c != '\t' && + !c->lineStart && ( para->alignment() & TQt::AlignJustify ) == TQt::AlignJustify ) + { curx = para->at( idx - 1 )->x + para->string()->width( idx - 1 ); + } if ( c->rightToLeft ) + { curx += para->string()->width( idx ); + } return curx; } -- cgit v1.2.3