mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Fixup 71d9f6e9
: swap two tests to avoid line breaking issues
The new approach to line breaking introduced in 71d9f6e9
is correct,
but the newly introduced min_row_wid should not be updated when the
remaining line width after a break is larger than next_width.
Swapping the two tests fixes remaining issues.
Fixes (for good?) #12899.
This commit is contained in:
parent
8f61b0859c
commit
677a2c2cd1
17
src/Row.cpp
17
src/Row.cpp
@ -605,14 +605,6 @@ Row::Elements Row::shortenIfNeeded(int const max_width, int const next_width)
|
|||||||
*/
|
*/
|
||||||
int const split_width = min(max_width - wid_brk, brk.dim.wid - 2);
|
int const split_width = min(max_width - wid_brk, brk.dim.wid - 2);
|
||||||
if (brk.splitAt(split_width, next_width, BEST_EFFORT, tail)) {
|
if (brk.splitAt(split_width, next_width, BEST_EFFORT, tail)) {
|
||||||
// if we did not manage to fit a part of the element into
|
|
||||||
// the split_width limit, at least remember that we can
|
|
||||||
// shorten the row if needed.
|
|
||||||
if (brk.dim.wid > split_width) {
|
|
||||||
min_row_wid = wid_brk + brk.dim.wid;
|
|
||||||
tail.clear();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
/* if this element originally did not cause a row overflow
|
/* if this element originally did not cause a row overflow
|
||||||
* in itself, and the remainder of the row would still be
|
* in itself, and the remainder of the row would still be
|
||||||
* too large after breaking, then we will have issues in
|
* too large after breaking, then we will have issues in
|
||||||
@ -623,6 +615,15 @@ Row::Elements Row::shortenIfNeeded(int const max_width, int const next_width)
|
|||||||
tail.clear();
|
tail.clear();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
/* if we did not manage to fit a part of the element into
|
||||||
|
* the split_width limit, at least remember that we can
|
||||||
|
* shorten the row if needed.
|
||||||
|
*/
|
||||||
|
if (brk.dim.wid > split_width) {
|
||||||
|
min_row_wid = wid_brk + brk.dim.wid;
|
||||||
|
tail.clear();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// We have found a proper place where to break this string element.
|
// We have found a proper place where to break this string element.
|
||||||
end_ = brk.endpos;
|
end_ = brk.endpos;
|
||||||
*cit_brk = brk;
|
*cit_brk = brk;
|
||||||
|
Loading…
Reference in New Issue
Block a user