commit 725a8a08d3e51c554d7122040f18f83c1ff02174
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Wed Apr 30 20:05:21 2025 +0200
Revert "Avoid code duplication related to PREEDIT"
This creates cursor isses that I do not have time to solve right now.
This reverts commit 2637d81f313d1c94aafdbd8c687d3034e89f70df.
---
src/Row.cpp | 36 ++++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/src/Row.cpp b/src/Row.cpp
index 1dcccf7f33..a6cc00b6ef 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -167,25 +167,37 @@ bool Row::Element::splitAt(int const width, int
next_width, SplitType split_type
bool first = true;
docstring::size_type i = 0;
for (FontMetrics::Break const & brk : breaks) {
- Element e(type, pos, font, change);
- e.str = str.substr(i, brk.len);
- e.dim.wid = brk.wid;
- e.nspc_wid = brk.nspc_wid;
- e.row_flags = CanBreakInside | BreakAfter;
if (type == PREEDIT) {
+ Element e(type, pos, font, change);
+ e.str = str.substr(i, brk.len);
e.endpos = e.pos;
+ e.dim.wid = brk.wid;
+ e.nspc_wid = brk.nspc_wid;
+ e.row_flags = CanBreakInside | BreakAfter;
e.im = im;
e.char_format_index = char_format_index;
+ if (first) {
+ // this element eventually goes to *this
+ e.row_flags |= row_flags & ~AfterFlags;
+ first_e = e;
+ first = false;
+ } else
+ tail.push_back(e);
} else {
+ Element e(type, pos + i, font, change);
+ e.str = str.substr(i, brk.len);
e.endpos = e.pos + brk.len;
+ e.dim.wid = brk.wid;
+ e.nspc_wid = brk.nspc_wid;
+ e.row_flags = CanBreakInside | BreakAfter;
+ if (first) {
+ // this element eventually goes to *this
+ e.row_flags |= row_flags & ~AfterFlags;
+ first_e = e;
+ first = false;
+ } else
+ tail.push_back(e);
}
- if (first) {
- // this element eventually goes to *this
- e.row_flags |= row_flags & ~AfterFlags;
- first_e = e;
- first = false;
- } else
- tail.push_back(e);
i += brk.len;
}
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs