Age | Commit message (Collapse) | Author |
|
https://github.com/CollaboraOnline/online/issues/6379
lets at least halve the num of invalidations on joining
a session.
Change-Id: I8ceb0a9ee23d632c9fb2c4a96250cc259b4a2f29
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152120
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
prevent unnecessary broadcasting during teardown of draw model
regression from
commit 8611f6e259b807b4f19c8dc0eab86ca648891ce3
ref-count SdrObject
The above patch seems to have changed the destruction ordering and now
we do lots of unnecessary broadcasting.
Change-Id: I90f4e560bc82834246a323275d13ef8ee8abeae0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152140
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See https://crashreport.libreoffice.org/stats/signature/sw::DocumentLayoutManager::CopyLayoutFormat(SwFrameFormat%20const%20&,SwFormatAnchor%20const%20&,bool,bool)
Change-Id: I1680bb79be4c1eb2ff18ed46dfa286da5e729e63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152015
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I464f508324e66125a1578f162b5be31b00397075
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152082
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
The bugdoc has 72 endnotes and not all of them were listed at the end
of the document, since commit 4814e8caa5f06c4fe438dfd7d7315e4a2410ea18
(tdf#124601 sw: add ContinuousEndnotes layout compat option,
2019-09-30).
The problem is that for simple documents the strategy to just place the
endnotes (in the form of footnotes) on the last page works, but this
approach breaks when the document is growing, since nobody moves the
endnotes from the former last page to the new last page. Additionally,
it's not trivial to know what the effective last page is, once you have
enough endnotes that the end of the body text is not on the last page.
Fix the problem by restricting when the DOC import sets this compat
flag. The limit is picked to be 2 endnotes, just because that keeps the
use-cases for continuous endnotes working.
A future solution would be to create a layout-level section at the end
of the document for such endnotes: that would allow them to be inline,
and we know how to keep endnotes inside a section & know how to keep a
section at the end of the document. But that would be a bit of a feature
work, let's keep this regression fix simple.
Change-Id: Ideea1c52f4e31ded3e28e9441aace2bc3857079e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152127
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Iad95d757ed09921403f41ed3c757b34149ec8c47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151285
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
|
|
Some buttons are sorted automatically. As a result, the "close"
button appears in the desired position, after the label change.
Change-Id: I67ce06825a642fa34086f97a99cde8ac2acb1ff6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151195
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
A subset of the tdf#155002 bugdoc hit an assertion failure in
SwObjectFormatterTextFrame::DoFormatObj() for multi-page floating
tables.
What happens is that a section frame wants to format its content, calls
CalcContent(), which assumes that the text frame's all draw objects are
also on the same page, as long as they are at-para anchored. This is
true for at-para anchored images, but not for split flys.
Fix the problem by using FindAnchorCharFrame() to know if the anchored
object should be inside the master anchor or a follow anchor: that
allows invoking SwObjectFormatter::FormatObj() with the correct anchor
and page frames, so we don't hit the assertion failure.
The hang with the original tdf#155002 bugdoc needs more work, still.
Change-Id: I2b4d88ccb2ff251c0b0811c31d2aa85053143443
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152116
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ifea1102fd27643ba950b4c9e8d42dd06c1ce71e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152001
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
make this actually do nothing to test a point
Change-Id: I353dc2bbbcd9229518f6527fe1589a901a9adfd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151833
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
This reverts ancient commit a79a0101f114e0fcac40503220c5d34750124367.
I'm not sure what problem it was trying to solve,
but it doesn't seem necessary now.
At least, I took my unit test and set some different
font sizes to them, and they correctly got those attributes.
This was the original file that needed to be fixed:
make CppunitTest_sw_ww8export4 CPPUNIT_TEST_NAME=testTdf90408
This is for the current bug report:
make CppunitTest_sw_ww8export4 CPPUNIT_TEST_NAME=testTdf90408B
Change-Id: I09fb3bd12d645318f1024ac78a9b3154a1fcd078
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152025
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
It was broken from the beginning. The second replacement could
look into a wrong string when checking if the characters around
the "--" are eligible; it could use obsolete indices in the
document, ignoring the previous replacement that changed the
lendth of the text.
This also replaces a use of char* to hold Unicode codepoints to
pass to lcl_IsInAsciiArr, with an array of sal_Unicode (because
all the checked values fit into it).
Change-Id: I949630abc564fc0875be0b92228846497bb1a022
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152002
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ief95f111350808f010539bb733a553007d30a9df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152006
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5036b484055e516fd808428238a044e12d34e089
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152005
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idc8740a275b9f49aca08d8a3add9a88f9d53a220
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152012
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
A reduced bugdoc from tdf#155002 had 2 floating tables, the one on the
2nd page was split to two fly frames, so the first and the second row
overlapped.
This is similar to what was fixed in commit
4cb6e54a3dcdd771ef76bd98b58f0bf1c4be4c45 (sw floattable: fix missing
table join when moving master fly to next page, 2023-05-18), but here we
are in the legacy layout mode, which allows floating tables outside the
body frame, somewhat. The exact detail here is that the vertical offset
of the floating table is -179 twips, and Word also splits the table to 2
floating frames in case there is no such vertical offset.
Fix the problem by ignoring the part of the fly frame that is
overlapping with the top margin area, this way the 2nd floating table
fits the 2nd page and our layout matches Word.
The crash with the original tdf#155002 bugdoc needs more work, still.
Change-Id: I61ac54116480904320c7fa7cc557e0fcaf792739
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152011
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
See
https://crashreport.libreoffice.org/stats/signature/sw::GotoPrevLayoutTextFrame(SwNodeIndex%20&,SwRootFrame%20const%20*)
and
https://crashreport.libreoffice.org/stats/signature/sw::GotoNextLayoutTextFrame(SwNodeIndex%20&,SwRootFrame%20const%20*)
Change-Id: I2233078051bd653de5634f1e0dabab9c1f59acb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151994
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Tooltip of a deleted table column shows "Column Deleted",
an inserted table column (will) show "Column Inserted".
Follow-up to commit ffd8d20d368a885d6d786749278fa438573227a7
"tdf#150673 sw xmloff: import/export tracked table column" and
commit 84fbb3398f7486f00e7b7dea415e1ea2510a9535
"tdf#146144 sw: add tooltip to table rows with change tracking".
Change-Id: I79fd2397410328b320bd2536285cc5cc835da9fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151998
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I27c03c0312331b7f1050f5edb28fc5e658240b41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151997
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Make Reference Marks behave like nesting attributes such as
Hyperlinks. This is described as the ideal behavior in
<https://bugs.documentfoundation.org/show_bug.cgi?id=81720#c24>
Change-Id: I34ddfb3a6aa0147ba4bc281ebbb6342089b7bd08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146941
Reviewed-by: Matti <matty@uef.fi>
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
When closing the dialog, UpdateCursor() creates a table cursor for
ExtendedSelectedAll() because mbSelectAll isn't set.
1 SwShellTableCursor::SwShellTableCursor
2 SwCursorShell::UpdateCursor
3 SwCursorShell::ShowCursor
4 SwView::ShowCursor
5 SfxViewFrame::Enable
6 SfxViewFrame::Notify
7 SfxBroadcaster::Broadcast
8 SfxObjectShell::SetModalMode_Impl
9 SfxViewFrame::SetModalMode
(regression from commit d81379db730a163c5ff75d4f3a3cddbd7b5eddda)
Change-Id: Ie73f8e42f764f8041288eb0850721a530d106a0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151880
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Fails with commit 971c9945825db02a4809538d26fff3ae77d16866 (Fix
"AddressSanitizer: heap-use-after-free", 2023-05-18) reverted in an ASan
build.
Change-Id: Ie87039c2c46abaf2f73cb1bbad48d2d1f7e59392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151991
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I9a9ef0b85140dd622c42983613464f76e29ee35e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151870
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
EndActionByVirDev only arises in the non-mainstream use html web document case and precedes the introduction of DoubleBuffer. It would be helpful to have one less corner case to consider.
Change-Id: Ibb9064cf5b37b1806f90c24ad9fbf84a8e37c0c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151854
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
A reduced bugdoc from tdf#155002 has 2 floating tables: one table on the
first page, second table on the second page. The second page had 2 fly
frames: the first row of the 2nd table in the first fly and the
remaining rows from the 2nd table in the second fly, and they were not
joined, which lead to overlapping text.
It seems what happens is that the fly is split: first row goes to the
first page, rest goes to the second page. Later we move the master fly
to the 2nd page as well, but we don't try to join the table, since the
master fly has no additional space. It's a circular problem: once we
split the fly, we limit the master fly size to what's necessary, so once
the 2 flys are on the same page, we don't move content from the follow
fly to the master fly because we believe it has no space... but it has
no space because the content is not moved.
Solve this problem similar to what the web view already does: in case a
table frame has a follow and the table frame is in a split fly that can
grow to host at least one follow, then try to grow it to host all
follows. This prevents layout loops, since we don't move content from a
follow fly to a master fly when it would not fit anyway, but allows
large enough master flys so table joining happens.
The crash with the original tdf#155002 bugdoc needs more work, still.
Change-Id: I411b21d796be82ab5600d66b600cb50c116db4e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151956
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
seen reports in crashreporter
Change-Id: I10ecac363eea0292f9dc257769da6d060dc350f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151962
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Ideally SwFrame should not really know anything about table frames.
Change-Id: I8d7902e1e80124aa7e09cebc823d9e2bb1425ede
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151982
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Icfb9b79b16dc46a722c46a08f647afaf9ad49b4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151661
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151753
Tested-by: Jenkins
|
|
https://github.com/CollaboraOnline/online/issues/6380
Commit 7481e8b5500e86626be5f8eae1e7f48b7f51e21a (sw_redlinehide_4a:
SwEditShell::AutoCorrect() etc., 2018-11-28) explicitly relied upon
the reference to the node text being updated on editing operations.
Commit 14f6700fefa945c4cf995c09af9326c2a022f886 (use more string_view
in editeng, 2022-04-14) converted the argument of FnChgToEnEmDash to
a string view, which means that any change in the underlying OUString
frees the memory referenced by the view.
But in this method, we really don't want to have the text updated;
so use a local OUString copy for later reference.
Partially revert commit 14f6700fefa945c4cf995c09af9326c2a022f886.
And copy mst's commit 7481e8b5500e86626be5f8eae1e7f48b7f51e21a
message to document the assumptions in SwEditShell::AutoCorrect.
Change-Id: I0ff02958c8de9566d774f366d905aa9bb603055c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151970
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
since we know that this is a matrix only used for 2D transforms,
we know that the last row of the matrix is always { 0, 0, 1 }.
Therefore, we don't need to store that information, and
we can simplify some of the computations.
Also remove operations like operator+ which are not legal for
such a matrix.
Change-Id: I482de9a45ebbedf79e3b6033575aab590e61c2d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151909
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to check the whole repository
Change-Id: Ic2df1248604e6e0053a8eeda50869eb5a3b1db0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151942
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
'/' is a better default separator (1 / 5)
than '-' (1 - 5)
Change-Id: I94bc704fbb22e817dfc0008f47880c1d41578880
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151965
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
1. List restart flag in the node does not yet mean that the restart
would actually happen: it will be ignored, if the next node is more
nested than the previous one.
2. When writing nested list items, we should not write additional
<li><ul> pairs for current level (previously, only level 0 was
skipped); same for closing.
Change-Id: I5f67e8fa9236e7e2e6dba2e0ec5dffbf0d7b7f8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151958
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
and
cid#1530396 Uncaught exception
Change-Id: Ib484a788fc2defd4a337645526f410ee365f7209
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151933
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I63a201d6f5c51fa2426c44fb63d1e593d31a895b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151932
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
It's sections, not section. One has to dispatch .uno:DeleteSections to
see this in action, which does something if the document already has
existing sections.
I think this was the last place where the relatively new biblio-related
UNO commands had a wrong undo comment.
Change-Id: I55074174a498f26ea7bda721988940a86ad2e458
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151930
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Well, I wasn't very thorough in my previous patch.
I guess chalk it up to my first realization that there
even was a separate config for this side menu.
In any case, all of these all have the nice little menus
and all should have the same access to insert page wizard.
Change-Id: Id2513b61e34aa5e3ed94f88a6af495ee02439455
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151788
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
Added in e9b6e7f6b4e78bd098b3a32e9288253938a00881
"ooxml: extend roundtrip test with w14:props3d" became unused in
22d5d14d1aed73f36938b49d0ea1e9281e19dafd
"ooxml: extend roundtrip test - ligatures, numForm, numSpacing"
Change-Id: I123ac624a23e5e2a6b29b2730b6f1f0bb86c5305
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151881
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I3d10e85a6141aae6c7741aebb1c0b1ac68ac4364
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151785
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
And if all columns are deleted, hide the table in Hide Changes mode.
Follow-up to commit ffd8d20d368a885d6d786749278fa438573227a7
"tdf#150673 sw xmloff: import/export tracked table column" and
commit f481c2c8e74bded11fac754e493560391229dbcd
"tdf#144057 sw track changes: hide deleted table rows".
Change-Id: Ic8f0254d607d629ed6386df94b16a939cde17506
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151805
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I0df173be99b8b9fa3920431a8386e14fd1d2260e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151876
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I61b1924c22a66a08ac165546811daeaf20176954
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151650
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
after
commit 3b7db802731826b6cc3b55100470b0c61c1f2dfa
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu May 4 10:06:14 2023 +0200
tdf#105404 [API CHANGE] add index to accessiblity change event
Change-Id: I52d6b7b7368b780c1c9fdf60628311cb02429eff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151872
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Follow-up to commit ffd8d20d368a885d6d786749278fa438573227a7
"tdf#150673 sw xmloff: import/export tracked table column" and
commit 896c2199d9f0a28bd405dd2d1068f5e2973cdf06
"tdf#79069 DOCX: support tracked table (row) deletion".
Change-Id: Ifbe7b8b83e7071367104a09b4b559513227db786
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151709
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Whenever (i != 0), this whole subcondition will be true; and (i != 0)
can only be false when (nPrevDepth != 0) is also false.
Change-Id: Icfd6dae3ecbbcd7307c42762d245d58725256c56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151783
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This is similar to d9cd177b9b08d454882dd77ffeb825a184a1b540 (sw
floattable: disable UI if the frame is chained already, 2023-05-16), but
here the fly is split and we disallow chaining, not the other way
around.
Change-Id: I637d594d41ba9a80d58bc0bef37627d8104293ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151856
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Set the filter options explicitly, rather than inferring it from the
test name.
Change-Id: Id55d735693be8d87cbc9b7048ef5533a5b7b41d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151849
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
To get the desired effect, properties were being spammed
as direct formatting. Now that LRSpaceItem has been split,
there is no/less need to spam like that.
Allows https://gerrit.libreoffice.org/c/core/+/151821
make CppunitTest_sw_ooxmlexport12 CPPUNIT_TEST_NAME=testTdf108493
Change-Id: I7b7f109eacb79737d898da5bcf87162b9fa6529e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151850
Tested-by: Jenkins
Tested-by: Justin Luth <jluth@mail.com>
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
Change-Id: I2b2105e577184f87723c85ed79533983fdd60405
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151853
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
There is a ToX that is updated; it has about 4 pages worth of entries.
When the old entries are deleted, 2 of the pages become empty, and since
commit b9ef71476fd70bc13f50ebe80390e0730d1b7afb these pages are deleted.
While layouting the new entries, these are moved onto the page following
the ToX, which starts with a page break and contains lots of footnotes.
Now the footnotes reduce the space on the page available for the ToX
entries, and thus after CalcLayout() there are 5 ToX pages instead of 4.
Then the page numbers are inserted into the entries, and another layout
action deletes one of the ToX pages; now all the page numbers are too
large by 1.
Some ideas to fix this:
1) ignore a footnote when formatting a frame that is before the
footnote anchor frame; similar to commit
c79bf7865bff4e88cc201357370d8faeef8e6ad9
2) invalidate the last content on the page when moving forward the
footnote container, similar to commit
eb85de8e6b61fb3fcb6c03ae0145f7fe5478bccf; this doesn't look easy to
do because as it turns out the footnote container is moved in
SwLayoutFrame::Cut() 5 function calls inside MoveFwd() while the frame
on which MoveFwd() is called is still on the page, so would probably
somehow need to be detected in MoveFwd() itself?
3) don't move frames forward onto a page that was created by a page
break - instead create a new frame.
Let's try 3) for now, only in SwFrame::GetNextSctLeaf().
(regression from commit b9ef71476fd70bc13f50ebe80390e0730d1b7afb)
Change-Id: I641f586799a5ddb4e2a6ff8e9de784e422ecc214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151711
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|