Le 22/01/2022 à 23:04, Pavel Sanda a écrit :
On Sat, Jan 22, 2022 at 09:43:15PM +0100, Pavel Sanda wrote:
lyx::TextMetrics::redoParagraph:522 pm.rows() = breakParagraph(bigrow); -> step 
into
lyx::TextMetrics::breakParagraph:1136 tail = rb.shortenIfNeeded(width, 
next_width); -> step into
lyx::Row::shortenIfNeeded:640 if (cit->splitAt(w - wid, next_width, true, 
tail)) {

... (equivalently 4x cont on  Row.cpp:640 breakpoint and then step in)

Thread 1 "lyx" hit Breakpoint 5, lyx::Row::shortenIfNeeded 
(this=0x5555588a7ae0, w=569, next_width=203) at Row.cpp:640
640             if (cit->splitAt(w - wid, next_width, true, tail)) {


Biset leads to:
commit d723b90344c0e56b26fc69aa00cb3001e074a723
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Mon Sep 6 14:52:42 2021 +0200

     Break multi-row strings in one pass

Thanks to all for the debugging while I was not available. It should be fixed now.

To find the right point, I discovered that gdb has a command "catch throw" that stops when there is an exception. Using this, I saw that it was code trying to handle a negative string length. From there, it was not too difficult to find the culprit.

Please test. The other zoom issue is still pending, of course.

JMarc
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to