D15428: [textlayout] Don't enter infinite loop when table is misfit
Dag Andersen
noreply at phabricator.kde.org
Tue Dec 18 08:48:09 GMT 2018
danders added a comment.
Fidled a little more with this, and found several problems when table with merged cells is split over pages,
like unmerged cell painted on both pages (empty on first page), caret not shown in selected cell and sometimes shown in prev cell.
Tried to recreate problem with words, which is easy, both with Anthonies (D15428 <https://phabricator.kde.org/D15428>) patch and with master:
- Create a 2x1 table then merge the two rows:
master: Table disappears (expected, as layout code is skipped)
D15428 <https://phabricator.kde.org/D15428>: Table is displayed as it should be.
- Create a table larger than a page, then merge the first 2 rows:
master: Loops
D15428 <https://phabricator.kde.org/D15428>: Table is displayed as it should.
I encountered an assert in KoTextLayoutTableArea::selectionBoundingBox() line 342,
but this is not a new problem and unrelated to D15428 <https://phabricator.kde.org/D15428>.
To recreate: Add a table, merge two rows, add a row below the merged rows -> assert.
I also checked out how LO handles this. In imvvho they don't do a great job, but they don't freeze nor crash ;)
As you aptly point out Camilla, we need to define in more detail what to do in different cases, but as always
LO is probably the standard even when they are not good.
Based on all this, I retract all my suggestions/proposals/patches.
Imvvho Anthonies patch adresses two concrete problems (a loop and a crash) and afaics it does not introduce new problems,
so I propose it is accepted.
REPOSITORY
R8 Calligra
REVISION DETAIL
https://phabricator.kde.org/D15428
To: anthonyfieroni, #calligra:_3.0, danders, boemann
Cc: Calligra-Devel-list, dcaliste, cochise, vandenoever
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20181218/858a55e8/attachment.htm>
More information about the calligra-devel
mailing list