[LyX/master] Fixup e1261817: place cursor correctly in RtL

Jean-Marc Lasgouttes lasgouttes at lyx.org
Tue May 2 13:37:40 UTC 2023


commit ee5dcc9d479fd00a6ddab4b4c202539e1db7786c
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Tue May 2 15:59:36 2023 +0200

    Fixup e1261817: place cursor correctly in RtL
    
    In an RtL paragraph, the cursor should be placed to the right of the
    end-of-paragraph indicator.
---
 src/Row.cpp |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/Row.cpp b/src/Row.cpp
index 7de4b61..769d3e3 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -728,10 +728,9 @@ Row::findElement(pos_type const pos, bool const boundary, double & x) const
 		 * to accept virtual elements, in which case the position
 		 * will be before the virtual element.
 		 */
-		if (cit->isVirtual() && pos + boundary_corr == cit->pos)
-			break;
-		else if (pos + boundary_corr >= cit->pos
-		         && pos + boundary_corr < cit->endpos) {
+		if ((pos + boundary_corr >= cit->pos && pos + boundary_corr < cit->endpos)
+		    || (cit->isVirtual() && pos + boundary_corr == cit->pos)) {
+			// FIXME: shall we use `pos + boundary_corr' here?
 			x += cit->pos2x(pos);
 			break;
 		}


More information about the lyx-cvs mailing list