Age | Commit message (Collapse) | Author |
|
Change-Id: Ifd9ade76384c66312eda8c8ee7cb41891459b3f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99757
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This prevents the jumps when printing
Change-Id: I8b6f7d60aa0ed443ec8e05ad5812830a6b655abb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99715
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... so that it may be called from SfxObjectShell::SaveTo_Impl, and
handle export cases in addition to save (as) handled in tdf#41063.
Change-Id: Ie39196656dd1a95dcb6bab3ae8138c2f5c8729e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99714
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I4c5d7bc1c2471a14afabf331acb8c2f2781382bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99672
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I6ece49cce56aedf4f6da1361443c1337387143fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99712
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I5ea9e3663fc5d30d725cf18757badb9b9802da18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99675
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I4b1eefee1fd77d946f2926d0a0bb5b929de5d374
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98997
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I17fd4156eb940fbdc925d9761301096e5349135f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99674
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
<https://ci.libreoffice.org/job/lo_ubsan/1709/> still failed with
> FAIL: test_insert_hyperlink (hyperlinkdialog.HyperlinkDialog)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/tdf/lode/jenkins/workspace/lo_ubsan/sw/qa/uitest/writer_tests3/hyperlinkdialog.py", line 71, in test_insert_hyperlink
> self.assertEqual(get_state_as_dict(xindication)["Text"], "link")
> AssertionError: '' != 'link'
> + link
>
so try a fix similar to 27798238ecb200e0753b013c79df0e6c014c7a7a "uitest : Avoid
any timing issue in test_insert_hyperlink"
Change-Id: I04b1616f3c5028065aafadbd73e0e52ef220ce5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99669
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...if the specified tabstop would be ignored - for the benefit
of MS Word.
After the numbering character, the tab in Writer stops at
A.) IndentAt, or B.) a non-default tabstop.
In other words, Writer ignores default tabstops.
(Caveat, LO ignores IndentAt when numbering sets a larger tabstop.)
However, MS Word does NOT necessarily stop at IndentAt,
but it stops at default tabstops, or a specified tabstop.
It only seems to stop at IndentAt if there are only
default tabstops that are farther than IndentAt.
In other words, Word usually ignores IndentAt.
(This is true for .doc and .rtf formats. It is also true for .docx
format with MS Word 2003, but not with MS Word 2016.)
In this patch, I only try to fix Word ignoring the IndentAt.
[A basically-unsolvable edge case is when the tabstop is larger than
the first line indent, but still not behind the numbering character.]
This patch could regress if paragraph-level tabstops define the position.
In that case, we have introduced another tabstop at the indentAt
position, and so a SECOND tabstop on the FIRST line might end up
at the wrong position. This is an EXTREMELY unlikely situation,
and in fact, both LO and Word seem to tabstop there anyway,
so I no longer think it would cause a regression. Go figure.
I heavily modified an existing unit test because
although that fix "works" and was an "easy fix"
it probably ought to have calculated the IndentAt and used that
instead of zero to replace the LO default values.
It works, however, so I won't bother doing anything about it.
(Also, the paragraph used doesn't matter - it is the same list.)
Change-Id: Ia13ac880ab63c610b26c99ab77903e08ebdebe35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99529
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
This CSS key is allowed, but only the underline and line-through values
are allowed in reqif mode, according to the top of page 66 of
"01_OMG_Requirements Interchange Format (ReqIF)_Version
1.2_formal-16-07-01.pdf".
Change-Id: Ide64344f58bde4569fe499d8514dab36a055bda9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99662
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
... at start of document, part 2:
In SwUndoDelete::UndoImpl(), the m_aEndStr wasn't inserted, because the
pTextNd was a section node.
This caused asserts when trying to add the history hints that used to be
in the end text node.
thints.cxx:1295: bool SwTextNode::InsertHint(SwTextAttr*, SetAttrMode): Assertion `!pAttr->GetEnd() || (*pAttr->GetEnd() <= Len())' failed.
(regression from 57d488660572d62ef0371e50dcdd4ca7a6d98a14)
Change-Id: I48caa7487d2d1e6250b5aceab18f270555d3ee8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99644
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
The problem in CopyImplImpl() is that pCopyPam's end position was
updated to index 0 but text was copied into the node, which is thus not
covered by pCopyPam and thus also not by SwUndoInserts.
Then SwUndoInserts::UndoImpl() doesn't delete the bookmarks in the end
node and the bookmark positions cause ~SwIndexReg asserts.
Change-Id: I4cc03e846eae4cabd9eb4346a98c1e5c2866050d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99643
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: Iab187468cf25b4a4afc7c79578677156ff224df9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99651
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I9af7e2fa0a450ebe396c0f049831a20100dbdc9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99659
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Icb98896f952fa97362611c20b36ea58a6408a78e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98926
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ie729acccc942c16b177a6bcbbcceb822d667157f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99626
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
|
|
Change-Id: I0ad6697d8dce814f20ea5f98e9c8f4b9c68f278d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99641
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I39755d333506ffe3fa2b6302f9ec72c15cd9eff9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99629
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
if the widget triggering the change is the width widget and this callback sets
a different value to the width widget, then rerun the callback using the width
widget to end up in a state consistent with the width widget value.
gtk already resends value-changed if the value of the widget changed during the
callback so this ends up aligning the vcl behaviour to the gtk one which appears
desirable in this case
Change-Id: I32d0e1bb17190279efc552781851e5a18b417154
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99635
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I45568da4b3dccd4e0cfe990c50217012f02540c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96590
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Merged cells split between pages could lose
vertical direction.
Change-Id: I1bbf4becd11a72022f80c394b3da6483fe0d7e6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99583
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
if the user presses enter to activate the Entry try to go to the page, and on
success we move focus to the document.
if the SpinButton changed value a Timer was launched, when it times-out, move
to the desired page, but leave focus where it currently is, i.e. typically
remaining in the spinbutton, or whatever other widget the user moved to in the
meantime
This replaces always grabbing focus to the document on a page-change and
re-grabbing focus back to the spinbutton.
Change-Id: I597597aedb1753aee755671a2a55779ca6196c09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99611
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
See http://document-foundation-mail-archive.969070.n3.nabble.com/CppunitTest-different-results-depending-on-execution-command-td4283987.html
Change-Id: I16f07232611d3d2cec675f34f0f93aee9618d80f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99585
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Assertion `pNode->GetRedlineMergeFlag() != SwNode::Merge::Hidden' failed.
4 IsAnchoredObjShown(SwTextFrame const&, SwFormatAnchor const&) (rFrame=..., rAnchor=...) at sw/source/core/layout/frmtool.cxx:1284
5 SwFlyFrameFormat::MakeFrames() (this=0x7a97860) at sw/source/core/layout/atrfrm.cxx:3001
6 AppendAllObjs(SwFrameFormats const*, SwFrame const*) (pTable=0x72457e0, pSib=0x4002800) at sw/source/core/layout/frmtool.cxx:1337
7 InsertCnt_(SwLayoutFrame*, SwDoc*, unsigned long, bool, unsigned long, SwFrame*, sw::FrameMode) (pLay=0x8e86ce0, pDoc=0x7242220, nIndex=854, bPages=true, nEndIndex=854, pPrv=0x7a79850, eMode=sw::FrameMode::Existing) at sw/source/core/layout/frmtool.cxx:1892
8 MakeFrames(SwDoc*, SwNodeIndex const&, SwNodeIndex const&) (pDoc=0x7242220, rSttIdx=SwNodeIndex (node 372), rEndIdx=SwNodeIndex (node 854)) at sw/source/core/layout/frmtool.cxx:2055
9 sw::UpdateFramesForRemoveDeleteRedline(SwDoc&, SwPaM const&) (rDoc=..., rPam=SwPaM = {...}) at sw/source/core/doc/DocumentRedlineManager.cxx:292
because this added an extent for the node but it still had its flag set
to Hidden:
11 sw::UpdateMergedParaForInsert(sw::MergedPara&, bool, SwTextNode const&, sal_Int32, sal_Int32) (rMerged=..., isRealInsert=false, rNode=..., nIndex=0, nLen=279) at sw/source/core/text/txtfrm.cxx:1002
12 SwTextFrame::SwClientNotify(SwModify const&, SfxHint const&) (this=0x7337940, rModify=..., rHint=...) at sw/source/core/text/txtfrm.cxx:2076
17 SwRangeRedline::InvalidateRange(SwRangeRedline::Invalidation) (this=0x8b3a120, eWhy=SwRangeRedline::Invalidation::Remove) at sw/source/core/doc/docredln.cxx:1261
18 sw::DocumentRedlineManager::DeleteRedline(SwPaM const&, bool, RedlineType) (this=0x7250b60, rRange=SwPaM = {...}, bSaveInUndo=true, nDelType=-1) at sw/source/core/doc/DocumentRedlineManager.cxx:2386
19 SwUndoRedlineDelete::UndoRedlineImpl(SwDoc&, SwPaM&) (this=0x8a65a00, rDoc=..., rPam=SwPaM = {...}) at sw/source/core/undo/unredln.cxx:198
Change-Id: I7f36705f1abb2df97a00b359e40534aef0e10d93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99524
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
... creating new one in RecreateStartTextFrames().
This was causing a problem with duplicate call of AddToListRLHidden() on
a node that was already added by the existing MergedPara; logically the
add would need to be reverted when the existing MergedPara dies, but
there's no count on it, so the safe way to fix this is to delete
existing MergedPara first.
This was on node 1083 in the bugdoc.
Change-Id: I1fec613829b3b12e3846fc4b195559d9a6079560
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99523
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
This reverts commit ad0351b84926075297fb74abbe9b31a0455782af.
It turns out that this conflicts with commit
14e87a4b15d31a34e6053f6194688f3aa23af991 "tdf#133967 sw_redlinehide: fix
redline deletion of table containing redlines"
but oddly enough that fix fixes tdf#132944 as well, but both commmits
combined don't work e.g. on node 1083/1084 in the tdf#133967 bugdoc we
got no text frame because SwUndoDelete has deleted it, but since it's
not merged it would be left alone by the new fix anyway.
This fix was quite hacky anyway, so just revert it.
Change-Id: Id17f3575c742b8761a8458914a28ae8047360fff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99522
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
This reverts commit 51d5de51b21b13e2fac92ec53522a48896fbd3da.
Because fix for tdf#132944 will be reverted too.
Change-Id: I3b4d5031be0d39435aa39867239db549d2f7b71e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99521
Tested-by: Michael Stahl <michael.stahl@cib.de>
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I090e28fb6d902ff0e2f9e7a9ef447133a29a85a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99520
Tested-by: Jenkins
Reviewed-by: Ahmed ElShreif <aelshreif7@gmail.com>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ied3eb671155b88d47a5a91fcd81351492ccf9bb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99560
Tested-by: Jenkins
Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
|
|
Regression from commit a2f85c062aafb3fd9dfb1c6c6e87e1e73e7545a3
(tdf#130362 sw: fix anchoring of inline math objects, 2020-02-04), the
problem was that the SwFlyFrameAttrMgr ctor wanted to set the anchor
type to at-char, and then later
DocumentContentOperationsManager::InsertEmbObject() wanted to undo that
for math objects, but this did not play nicely with objects imported
from DOCX.
So don't set and clear the anchor type, rather set it conditionally in
the first place. This allows setting the anchor type in writerfilter/
before insertion, and then all of 1) docx import (depends) 2) insert of
Math objects (as-char) 3) insert of images (at-char) are working.
Change-Id: I94d82c12f30d069426db1bab70c456cadf1c91ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99559
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
See tdf#74608 for motivation.
Change-Id: Ieaa5ef1eef7488d7b53454bdd3b14702de909beb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99519
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
IsFootnoteAllowed() removes the footnote marker from
the repeated table headers, but it didn't remove the
view menu -> field shadings background.
NewExtraPortion() is the only function that calls
NewFootnotePortion(), and it will create a blank
FieldPortion is nullptr is returned, so return a
null FoonotePortion instead so that we can test
for is-footnote and then prevent the drawing
of the fieldshadings.
FieldShading is an on-screen item only and never printed,
so no unit test is possible.
Change-Id: I940eaf2dc3f4ad808b333d46f0964df31a9345b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99423
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Reviewed-by: Justin Luth <justin_luth@sil.org>
|
|
Custom pie chart label showed incorrect percentage value.
Follow-up of commit 8c1dc30cc9fc96ef3d3ab0c4445959473248ae4d
(tdf#125444 Percentage as custom chart label).
Change-Id: I2fe9cbca876da26a7c3a371c1e711b9e1fc33b1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99353
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Before, when align function was used the textboxes
(shape+frame) went apart, now the textframe follows
the shape.
Co-dev: Attila Bánhegyi (NISZ)
Change-Id: I4d69a2f7f4e5ef50d17bb0871c501d6e0026d0e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99048
Reviewed-by: Attila Bakos <bakos.attilakaroly@nisz.hu>
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
Tested-by: László Németh <nemeth@numbertext.org>
|
|
A delete redline is created from node 371 to node 1625; there are
existing redlines in the range, so AppendRedline() splits the new
redline into pieces between and on the existing redlines.
Even worse, because some of the existing redlines are in a table,
InsertWithValidRanges() then splits the pieces that overlap the table
into even smaller pieces, such that there are now the table structural
nodes that were in the initial new delete redline's range but are now
covered by none of the pieces.
This means that multiple merged text frames are created, with non-merged
frames between them, and thus the functions
UpdateFramesForAddDeleteRedline() and
UpdateFramesForRemoveDeleteRedline() [for Undo] have to deal with this
unexpected complication.
(regression from sw_redlinehide)
Change-Id: Ibf71c1deb2bc3fa2af16035954d5ef71b6827be5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99411
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Don't delete frames on start node in SwUndoDelete::UndoImpl; happens
on SwUiWriterTest::testTdf83260().
(regression from ad0351b84926075297fb74abbe9b31a0455782af)
Change-Id: I271d8bcbe4ab266e9e922e144450f05a24d183cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99410
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
This happens on tdf#133967 bugdoc with the Delete/Delete case first, in
line 1445 - the start positions are equal, so the new redline is empty
=> DocumentRedlineManager.cxx:92: redline table corrupted: empty redline
Similar bugs exist for Delete/Insert case in line 1725 and Format/? case
in line 1892, the latter even checks a nonsensical condition
*pEnd != *pRStt that is always true for Outside case.
It's like that since inital CVS import.
Change-Id: I7ade25380a5a43b14e87db37da8fc84267e89dd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99389
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
|
Change-Id: I820019f6906fef57743886fb1ba9c98217955370
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99041
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99350
Tested-by: Jenkins
|
|
... SwHTMLTableLayoutConstraints and SwStyleManager
See tdf#94879 for motivation.
Change-Id: I950012885edd77a0aa44a5aee1ef1ceb358bdf03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99466
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ic7dfb2e681c5128288b2f39054bc642ab6028fed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99420
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
See tdf#74608 for motivation.
Change-Id: Ibd5c19d78c1440b489d850fdacbaa74d0c3d1654
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99458
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Pick from text/shared/optionen/01010100.xhp and
add missing ET's
Change-Id: I8f188e2b2f64b570db90dca6b98240f6e9a86793
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99341
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
|
|
Change-Id: I3b7774a043a2c99531e1c76b531df4358699bba7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99440
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I2894e7bab9aa8f076a5de56021c6ba4e451ac2f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99416
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I034b0cd9c6f66c531460d1bb69d9ede5ff46f7d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99188
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I765838d72e272fff2e80e5ce45efc2c5670929cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99251
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
|
|
This 6.1.4/6.2 hack for tdf#118393 wasn't interested
in isCellOpen, and should have questioned why isTextNodeEmpty
was preventing the necessary page style change.
So purge it, since the removal of isTextNodeEmpty
obsoletes it.
Change-Id: I615ae84ac46f129b09b18555794ed89c42ba93b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99179
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
|
|
Change-Id: I49cbfcec280af26b34c956b270277c4f3409c777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99335
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
So the logic goes like this:
1.) paint table background
2.) paint row X background
3.) paint row X's cell backgrounds
So far so good. The cell background overrides all others.
4.) paint row Y background.
Well, now it has painted over top of any merged Y grids,
and thus covered cells need to paint themselves again.
5.) paint row Y's cells, NOT excluding covered cells.
Dropping this "optimization" of ignoring the covered cell
shouldn't impact performance too much since merged cells
are not super common.
One alternative option would be to determine if the
row has a background fill, and only paint all the
merged grids in that case. But that isn't trivial,
and so the processing of determining that might
as well be used to just paint the cell background again.
The only other option is to paint all rows first,
and then paint all the cells. But the logic of
this generic function doesn't easily allow for that.
Unfortunately, I couldn't see how to create a unit test
since layout.xml doesn't include color at all.
However, Office Interoperability Testing should catch it since
there are a couple of clear examples attached to the bug report.
Change-Id: Ie2c3776ab062dbb51c88134291e8901e71838b18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99343
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|