Commit graph

483822 commits

Author SHA1 Message Date
Miklos Vajna
6068ae5df9 sw floattable: don't promise infinite growth in SwFlyFrame::Grow_()
In case the document has a single cell in the floating table with
multiple lines, we may need to split the cell, but currently we don't.

One problem is that SwTabFrame::MakeAll() for the master table gets an
error from Split(). Digging deeper, SwTextFrame::SplitFrame() is not
called at all, because SwTextFrame::FormatAdjust() thinks that the
content will fit, because SwTextFrameBreak::IsInside() says so. This
happens because it tries to do a test grow on the fly frame, and
that promises to grow as much as wanted.

Infinite grow for fly frames is reasonable by default, but we want to
limit the size for split flys, so a follow fly will be created. Fix the
problem by improving SwFlyFrame::Grow_() to handle the
IsFlySplitAllowed() case explicitly. Now we split the text frame, which
is needed but not enough to split the entire fly -> table -> row -> cell
-> text frame hierarchy.

SwSectionFrame::Grow_() has a similar limit in place already.

Change-Id: Ie07362a8dc3aa8c4fbb69eaf7e35717ba79b99a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147593
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2023-02-24 09:24:56 +00:00
Xisco Fauli
818e98eed2 CppunitTest_sc_ucalc*: use CPPUNIT_TEST_FIXTURE()
These suites are large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: Ib24643438ecf52da1ba700522435f70e7ba2aa95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147590
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-24 09:24:02 +00:00
Caolán McNamara
9ac308b99e crashtesting: null-deref seen on loading forum-mso-en4-399427.xlsx
and others. A problem since:

commit 8c9a6abf30
Date:   Thu Feb 2 20:16:04 2023 +0100

    tdf#138601 XLSX import: fix priority of conditional formatting rules

Change-Id: I663b193c5bd7c5c92d3c423e70b0f7a24e3e5d76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147592
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-24 09:04:39 +00:00
Noel Grandin
4b9cc68016 use comphelper::WeakComponentImplHelper for UITestUnoObj
Change-Id: I4a3d75507791b1a313722adbdd9cd7cc7505ada6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147584
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 09:03:52 +00:00
Noel Grandin
1909c23d66 BaseMutex->std::mutex in cairocanvas::TextLayout
Change-Id: If45308a943104ed5a7f3ec2713bce5d68ee73485
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147579
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 08:11:17 +00:00
Noel Grandin
e0f05df761 BaseMutex->std::mutex in sd::tools::PropertySet
Change-Id: Iab6d9f3cb1c198f9f3ffd8ac556985cafb821787
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147587
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 08:10:25 +00:00
Bjoern Michaelsen
b4b3f28144 Use just plain straight-forward params for UpdatePageFields
- dont wrap parameters in a useless hint as superfluous indirection
- note: SwDocPosUpdate receives a special kind of abuse here:
  * it is used as pNew with pOld being nullptr when send to the
    document field manager
  * it is sneakily modified to be the pOld when it is forwarded by
    the field to the frame via the node
- full path of the message before this change:
  -> passed to the UpdatePageFields as parameter
  -> wrapped as the pNew there and send to the field types
  -> passed by the fieldtypes to the fields
  -> tweaked to be the pOld with pNew being the field itselfby the
     fields when passed from the field to the node
  -> passed from the node to the frames

Change-Id: I084c3a1abe6871abdb82655cc413902dd16071cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147302
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2023-02-24 07:33:59 +00:00
Michael Stahl
0168e1eb65 tdf#78510 sw: combine items from SwTextNode and SwNumFormat
Tweak SwTextFormatColl::AreListLevelIndentsApplicable() and
SwTextNode::AreListLevelIndentsApplicable() to return a bitmask
so that SvxFirstLineIndentItem and SvxTextLeftMarginItem from paragraph
or numbering can be freely combined.

Particularly confusing was SwTextNode::GetLeftMarginWithNum()
and its baffling usage in SwTextMargin::CtorInitTextMargin(); it
appears easiest (if unintuitive) to interpret its return value as a
delta to be added to the paragraph's items.

This fixes the ODF interop problem.

It looks like no compat setting is needed because every OOo/LO generated
document should have either both fo:text-indent and fo:margin-left on a
paragraph style/list level, or neither.

Change-Id: If20b2556bb5ab5d915a2aa6633525bb44a9be33b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147166
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-24 07:32:30 +00:00
Michael Stahl
db115bec92 tdf#78510 sw,cui: split SvxLRSpaceItem for SwTextNode, SwTextFormatColl
Leave editengine and non-paragraph usages of SvxLRSpaceItem as-is for now.

Add new items RES_MARGIN_LEFT etc., order them so that paragraphs can
have 3 consecutive items RES_MARGIN_FIRSTLINE..RES_MARGIN_RIGHT and
non-paragraphs also have 2-4 consecutive items
RES_MARGIN_RIGHT..RES_MARGIN_LEFT (only the 3 paragraph ones are
actually used now).

The HTML import filter is particularly annoying because it parses CSS
stuff into SfxItemSets without knowing where the items will be applied,
so it can't know whether to create SvxLeftMarginItem or
SvxTextLeftMarginItem... the split items are created in ParseCSS1_*
functions and then converted later if necessary.

WW8 import has some weird code as well, SwWW8ImplReader::Read_LR()
creates 3 items and then something wants to set every item on its own
so SwWW8FltControlStack::SetAttrInDoc() turned out rather weird.

Convert the paragraph dialog to handle the split items (by mapping them
to SID_ATTR_PARA_FIRSTLINESPACE/SID_ATTR_PARA_LEFTSPACE/
SID_ATTR_PARA_RIGHTSPACE), but the SvxRuler looks a bit more confusing
so convert in sw shells for now and leave that for later (also unclear if
changing these slot items like SID_ATTR_PARA_LRSPACE breaks any ABIs?).

Change-Id: I40431821868fd3e1cceba121b5539ff9ae6befbc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147024
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-24 07:32:23 +00:00
Michael Stahl
7e7b69829d editeng: split SvxLRSpaceItem into 1 class per attribute
The tricky part is that there are actually 2 different kinds of left
margins:

Those on entities that aren't paragraphs are simple, so class
SvxLeftMarginItem is simple.

Those on paragraphs are entangled with the first-line-offset,
because there is a left margin value (same as for everything else)
and a text-left-margin value, which includes a negative
first-line-offset; the text-left-margin value is exported as API
property so stored as-is in the item, and the left-margin is computed on
demand (based on corresponding first-line-offset) in
SvxTextLeftMarginItem::GetLeft().

Separate classes for these is a better separation than what commit
a0875d09d9 did.

(some functions aren't implemented because the SvxLRSpaceItem did
nothing for these cases; not sure if that's intended.)

Change-Id: Iae5cd4bf8167754eec65d2585430f5fe3d00839f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147023
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-24 07:32:10 +00:00
Noel Grandin
afdee56418 BaseMutex in AccessibleTableHeaderShape is unused
Change-Id: I1ec01aa72446891aaacd9309ea6c67cc323b0d32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147588
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 07:13:01 +00:00
Noel Grandin
336cebd61d BaseMutex->std::mutex in slideshow::EventMultiplexerListener
Change-Id: Icdb38eb85a93cc285489372bbd80605bfcd36249
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147582
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 07:12:50 +00:00
Noel Grandin
8b31341d93 BaseMutex->std::mutex in MinMaxLineWrapper
Change-Id: Ibd03c7f736e9b2fdf97a7b3177d7d12fd85394fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147581
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 07:12:40 +00:00
Noel Grandin
ce32856bfe drop OComponentHelper in XMLFilterDialogComponent
nothing seems to be using the aggregation here - as expected, this is
not the kind of thing that is aggregated

Change-Id: I8abc4f4db0dc9447e4018330bba86f3579bb21c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147503
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 07:12:29 +00:00
Miklos Vajna
78a158211b sw layout xml dump: extract SwRootFrame::dumpAsXml() from SwFrame
Avoids an ugly static downcast.

Change-Id: I6c6d3bc224d584b3102da1ba3980c83b67521ce7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147578
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-02-24 07:01:23 +00:00
Seth Chaiklin
6d9b9d1228 tdf#153499 revise tooltip; correct extended tip for "Index level"
Change-Id: If7541390c8ee42ab3bf177e12670c9f983fd3e02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147553
Tested-by: Jenkins
Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
2023-02-24 01:54:16 +00:00
Seth Chaiklin
1750cc99cc Update git submodules
* Update helpcontent2 from branch 'master'
  to a7c1500a74c7f5e136da4a70656d19c54f758092
  - tdf#153795  "Illustration Index" -> "Table of Figures"
    
       also some corrections in menu names in the Type tab
       and updating of example to refer to "Figure".
    
    Change-Id: I4529eeb8000021051a669ec0bfaeeadaa2c69f74
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/147551
    Reviewed-by: Seth Chaiklin <sdc.blanco@youmail.dk>
    Tested-by: Jenkins
2023-02-24 00:23:59 +00:00
Xisco Fauli
ab20dba307 CppunitTest_sd_export_tests: use CPPUNIT_TEST_FIXTURE()
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: I5b7ef05e16ec0d81acfc7288296849ab3b3973ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147576
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 21:54:10 +00:00
Xisco Fauli
9937d7cdde SwModelTestBase: add selectShape helper
See discussion in https://gerrit.libreoffice.org/c/core/+/147506

Change-Id: If3f3b471d5053dbc1bf34383e64e9672d026aaae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147515
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 16:02:34 +00:00
Noel Grandin
cacd5a0cd2 attempted fix for CppunitTest_sc_uicalc
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior include/svl/setitem.hxx:47:51 in
=================================================================
==357324==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c001c9c340 at pc 0x7fa4bb883389 bp 0x7ffc2482f5f0 sp 0x7ffc2482f5e8
READ of size 2 at 0x60c001c9c340 thread T0
    #1 in SfxItemSet::Get(unsigned short, bool) const svl/source/items/itemset.cxx:801:26
    #2 in SfxUInt32Item const& SfxItemSet::Get<SfxUInt32Item>(TypedWhichId<SfxUInt32Item>, bool) const include/svl/itemset.hxx:102:38
    #3 in (anonymous namespace)::getNumberFormatKey(SfxItemSet const&) sc/source/core/data/patattr.cxx:1291:17
    #4 in ScPatternAttr::GetNumberFormat(SvNumberFormatter*, SfxItemSet const*) const sc/source/core/data/patattr.cxx:1335:19
    #5 in ScColumn::UpdateScriptType() sc/source/core/data/column3.cxx:871:36
    #6 in ScColumn::GetRangeScriptType(...) sc/source/core/data/column2.cxx:2338:17
    #7 in ScTable::GetRangeScriptType(sc::ColumnBlockPosition&, short, int, int) sc/source/core/data/table1.cxx:2487:23
    #8 in ScDocument::GetRangeScriptType(sc::ColumnBlockPosition&, ScAddress const&, int) sc/source/core/data/documen6.cxx:189:32
    #9 in (anonymous namespace)::ScriptTypeAggregator::execute(ScAddress const&, int, bool) sc/source/core/data/documen6.cxx:175:31
    #10 in sc::ColumnSpanSet::executeAction(ScDocument&, sc::ColumnSpanSet::Action&) const sc/source/core/data/columnspanset.cxx:176:20
    #11 in ScDocument::GetRangeScriptType(ScRangeList const&) sc/source/core/data/documen6.cxx:206:10
    #12 in ScViewFunc::GetSelectionScriptType() sc/source/ui/view/viewfunc.cxx:898:24
    #13 in ScFormatShell::GetAttrState(SfxItemSet&) sc/source/ui/view/formatsh.cxx:2001:34
    ...
    #61 in main2() sal/cppunittester/cppunittester.cxx:483:16

0x60c001c9c340 is located 64 bytes inside of 120-byte region [0x60c001c9c300,0x60c001c9c378)
freed by thread T0 here:
    #0 in operator delete(void*, unsigned long) /home/noel/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:164:3
    #1 in ScPatternAttr::~ScPatternAttr() sc/inc/patattr.hxx:53:20
    #2 in SfxItemPool::Remove(SfxPoolItem const&) svl/source/items/itempool.cxx:805:13
    #3 in ScAttrArray::SetPatternAreaImpl(int, int, ScPatternAttr const*, bool, ScEditDataArray*, bool) sc/source/core/data/attarray.cxx:574:31
    #4 in ScAttrArray::SetPattern(int, ScPatternAttr const*, bool) sc/inc/attarray.hxx:148:7
    #5 in ScColumn::ApplyAttr(int, SfxPoolItem const&) sc/source/core/data/column.cxx:633:21
    #6 in ScColumn::SetNumberFormat(int, unsigned int) sc/source/core/data/column2.cxx:3282:5
    #7 in ScTable::SetNumberFormat(short, int, unsigned int) sc/source/core/data/table2.cxx:2278:35
    #8 in ScDocument::SetNumberFormat(ScAddress const&, unsigned int) sc/source/core/data/document.cxx:3739:19
    #9 in ScFormulaCell::InterpretTail(ScInterpreterContext&, ScFormulaCell::ScInterpretTailParameter) sc/source/core/data/formulacell.cxx:2157:31
    #10 in ScFormulaCell::Interpret(int, int) sc/source/core/data/formulacell.cxx:1619:13
    #11 in ScFormulaCell::MaybeInterpret() sc/inc/formulacell.hxx:468:17
    #12 in ScFormulaCell::IsValue() sc/source/core/data/formulacell.cxx:2760:5
    #13 in lcl_GetCellContent(ScRefCellValue&, bool, double&, rtl::OUString&, ScDocument const*) sc/source/core/data/conditio.cxx:744:40
    #14 in ScConditionEntry::IsCellValid(ScRefCellValue&, ScAddress const&) const sc/source/core/data/conditio.cxx:1243:17
    #15 in ScConditionalFormat::GetCellStyle(ScRefCellValue&, ScAddress const&) const sc/source/core/data/conditio.cxx:1812:24
    #16 in ScDocument::GetCondResult(ScRefCellValue&, ScAddress const&, ScConditionalFormatList const&, o3tl::sorted_vector<unsigned int, std::less<unsigned int>, o3tl::find_unique, true> const&) const sc/source/core/data/documen4.cxx:828:41
    #17 in ScColumn::UpdateScriptType(sc::CellTextAttr&, int, mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::iterator_trait>&) sc/source/core/data/column3.cxx:865:30
    #18 in ScColumn::GetRangeScriptType(int, mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<sc::CellStoreTraits>::iterator_trait> const&) sc/source/core/data/column2.cxx:2338:17
    #19 in ScTable::GetRangeScriptType(sc::ColumnBlockPosition&, short, int, int)
        sc/source/core/data/table1.cxx:2487:23

previously allocated by thread T60 here:
    #0 in operator new(unsigned long) /home/noel/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:95:3
    #1 in ScAttrArray::AddCondFormat(int, int, unsigned int)
       sc/source/core/data/attarray.cxx:296:32
    #2 in ScColumn::AddCondFormat(int, int, unsigned int)
       sc/inc/column.hxx:974:17
    #3 in ScTable::AddCondFormatData(ScRangeList const&, unsigned int)
       sc/source/core/data/table2.cxx:2967:43
    #4 in ScDocument::AddCondFormatData(ScRangeList const&, short, unsigned int)
       sc/source/core/data/document.cxx:4893:19
    #5 in oox::xls::CondFormat::finalizeImport()
       sc/source/filter/oox/condformatbuffer.cxx:1065:10
    #6 in oox::xls::CondFormatBuffer::finalizeImport()
       sc/source/filter/oox/condformatbuffer.cxx:1189:27
    #7 in oox::xls::WorksheetGlobals::finalizeWorksheetImport()
       sc/source/filter/oox/worksheethelper.cxx:942:22
    #8 in oox::xls::WorksheetHelper::finalizeWorksheetImport()
       sc/source/filter/oox/worksheethelper.cxx:1622:17
    #9 in oox::xls::WorksheetFragment::finalizeImport()
       sc/source/filter/oox/worksheetfragment.cxx:632:5
    #10 0x7fa4511cbf2a in oox::core::FragmentHandler2::endDocument()
       oox/source/core/fragmenthandler2.cxx:53:5

Change-Id: I8d806fd410d1d3a9c06ab141b035153649cf7062
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147513
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 15:52:29 +00:00
Heiko Tietze
d9865bd527 Revert "Resolves tdf#146579 - Accessibility for statusbar icons"
This reverts commit 3fffe54bb1.

Reason for revert: Rectangle makes the small icons even more tiny. Looking for a better solution.

Change-Id: Iec2c5f03ec6ea14546b27eb530c43ad511b2ee19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147450
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-02-23 15:41:48 +00:00
Heiko Tietze
ea9a69c686 Revert "Resolves tdf#152947 - Accessibility for save status icon"
This reverts commit 9844064f25.

Reason for revert: Rectangle makes the small icons even more tiny. Looking for a better solution.

Change-Id: I3161d488346305ee814884758f1d8679d64db07b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147451
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-02-23 15:41:38 +00:00
Rico Tzschichholz
258f341221 Refer directly to static library files for Graphite2 and HarfBuzz on Linux
Just using "-L... -l..." will cause dynamic linking if a matching system
library is found.

Change-Id: I9bc3ee1fb1351336f73c3c9219526749dffe546e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146907
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
2023-02-23 14:38:11 +00:00
Xisco Fauli
46d489ccd6 CppunitTest_sd_export_tests-ooxml1: use CPPUNIT_TEST_FIXTURE()
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: I4b76afd0483957b0061326e584ccbb0d22650c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147509
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 14:22:04 +00:00
Tor Lillqvist
6f29310fe8 Don't call CuiResId() in a global static variable initialiser
Instead, have a function that returns a reference to a local static
variable. That local static is then initialised only when the function
is called for the first time. Calling CuiResId() in a global
initialiser is a bit questionable, and causes an uncaught exception
when LO core is used in a WASM app. Possibly it would also have been
problematic on other uncommon platforms.

Change-Id: I4fd799ba3aa8d63fd3db1eb8cf6211aeed904ed2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147512
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2023-02-23 13:47:56 +00:00
Miklos Vajna
b352c9a79c CppunitTest_sw_uiwriter8: fix sometimes failing testTdf133490
This usually passes, but if I have an other build ongoing, then
sometimes fails with:

equality assertion failed
- Expected: -139
- Actual  : 1528

Fix this by doing a sync UNO call instead of async dispatch of an UNO
command. Now this test passed for me 10 times in a row under load.

Change-Id: I4f81d036c0edd3ec9467cd483238a1f32876dc50
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147506
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2023-02-23 13:44:05 +00:00
Xisco Fauli
fce7717364 tdf#153767: sc_subsequent_filters_test2: Add unittest
Change-Id: I66f45e54249f48440c4145ff0e877abbac073a25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147507
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 13:19:29 +00:00
Armin Le Grand (allotropia)
94cdbfb931 MCGR: Adapted GradientAxial to make use of MCGR
Added to make GradientAxial work using the MCGR
as 2nd of six types. This one was complicated
since it uses the gradient(s) 'reversed' when you
look at it, from outside to inside. Had to do
quite some tickeling to get it all work, but
looks good now.

For modifyBColor I Could re-use the started
tooling as planned.

To get the reverse usage working I ended up in
1st adapting the previous usage to make more use
of std::iterator and reverse_iterator to be able
to use the reversed state of the ColorSteps more
'controlled' as if trying to adapt the numerical
indices to the vector (that ended in chaos).

It is still 100% backward-compatible, so as long
as there is no source using this it will stay
invisible - by purpose.

Tests look good with this one, see the static
variable nUseGradientSteps.

Change-Id: I0117ec9a24b5e55869b3e2741c67fb87b549db97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147510
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-02-23 13:06:06 +00:00
Noel Grandin
bddc275d1e osl::Mutex->std::mutex in OleNameOverrideContainer
Change-Id: Ieeeb8f51f4970cbe1214aea493409739a64ac561
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147502
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 13:01:58 +00:00
Noel Grandin
29d795b772 avoid div/0 in getCutPointForGivenY
Change-Id: I8e5e5689ee11777938ca7d0268b8e04e77466734
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147496
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 12:48:27 +00:00
Rafael Lima
11c69c57f0 tdf#146518 Implement commands to toggle Watch/Stack windows
This patch implements the new .uno:WatchWindow and .uno:StackWindow commands in the Basic IDE to allow the user to toggle the Watch/Stack windows.

Change-Id: I0778b9fe8efcafbbf57da3cc437e6b156306021d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147305
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-02-23 12:34:21 +00:00
Sarper Akdemir
9da4a2518e related tdf#148966: rework sdr compatibility flags
Rework access/set methods for sdr compatibility flags so it
is possible to address a compatibility flag without directly
interfacing with SdrModel.

(preliminary work for exposing compatibility flags to
editeng)

Change-Id: I2fab219f9e125151916228300be2d9d88156d8a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147407
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-02-23 12:19:23 +00:00
Noel Grandin
37751d878b blind fix for crashes in RegressionCurveCalculator
if mPeriod is < 0, then we could crash in calculateValuesCentral

Change-Id: I554b46ed7bf5b5b0a32fcf69829aa1c2c75833f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147508
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 12:15:31 +00:00
Noel Grandin
12c00caa3d unlock during dispose in configmgr::configuration_provider::Service
Since the code that can run during flushModifications might manage to
call back into Service..

regression from
    commit a61951a3a2
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Mon Feb 20 20:08:30 2023 +0200
    BaseMutex->std::mutex in configmgr::configuration_provider::Service

Change-Id: I0070e7589cdea38905de6c68adefd8081b122152
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147500
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 12:13:42 +00:00
Xisco Fauli
e176e7a5ea CppunitTest_sd_import_tests2: use CPPUNIT_TEST_FIXTURE()
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: I14d1ace4ffbcb888e30a51b24116ed8c7e90fcba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147479
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 12:03:47 +00:00
Seth Chaiklin
208a5511d7 tdf#153499 "Level" -> "Index level"; add/revise tool/extended tip
Change-Id: I854a6514fb78288b62816170624676e4017b73a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146988
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-02-23 11:25:41 +00:00
Noel Grandin
5a9425af92 make B2DPolyPolygonTest deterministic
Change-Id: Ia8071285d70b39b21b1312d461dc8d502d5cb305
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147497
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 11:17:34 +00:00
Noel Grandin
0e123c297a fix test for non-default DPI
Change-Id: Id3b39535ae18a5b38e57d9cacb7e3662a9c3468c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147498
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 10:55:16 +00:00
Christian Lohmaier
5de206e549 ignore bidi-chars warning in callgrind config
gcc from devtoolset-11 would complain about
svx/source/tbxctrls/layctrl.cxx:        aText = u"\u202D" + aText;

See also https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585777.html

Change-Id: I040371673dd8d5e023092c53791e9b666bace7a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147511
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2023-02-23 10:48:50 +00:00
Bjoern Michaelsen
a10d0ce37b refactor SwFormatField again
- strip out some helper functions
- split of the "forced update" special case
- extract ensuring user fields to be valid

Change-Id: Iee9aa5b25ab7d8e7c102f0c0950c47a46966bb19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147269
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2023-02-23 10:35:13 +00:00
Heiko Tietze
80a0d8a727 Related tdf#152880 - Rename DatePickerFormField
Distinguish this 2nd generation control from all "content control"
from 3rd generation

Change-Id: I29c9087e1042fc7c7c920235866fd25f9522538c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147501
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-02-23 10:23:25 +00:00
Miklos Vajna
2da16ff9f0 sw floattable: teach the ODT filter about SwFormatFlySplit
Map the IsSplitAllowed text frame property to <draw:frame
loext:may-break-between-pages="...">. This is meant to be always a
direct formatting, so doesn't go to the style / autostyle.

Change-Id: I439fe372271e4b7db511b5e2150e2a3c2e0acf25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147499
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2023-02-23 09:32:08 +00:00
Xisco Fauli
988cdcc186 CppunitTest_sd_export_tests-ooxml3: use CPPUNIT_TEST_FIXTURE()
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: I44dd326d2fa9d306bb187148121e5c50718650d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147480
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 08:23:39 +00:00
Xisco Fauli
f9300c3521 CppunitTest_sd_export_tests-ooxml2: use CPPUNIT_TEST_FIXTURE()
This suite is large enough so that avoiding the
declaration/registration/definition of each test manually saves a lot of
space.

Change-Id: Icc071e2bd1e6c0867d0e7dd22b7dbb3b7921f12f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147483
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-23 08:23:18 +00:00
Miklos Vajna
7897143a73 sw: fix undo comment of FN_DELETE_TEXT_FORMFIELDS
It's deletes, not an insert. One has to dispatch
.uno:DeleteTextFormFields to see this in action.

Change-Id: I7c5afa6acc633e0d0a750d97ff6477b9511e816c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147489
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-02-23 07:09:57 +00:00
Samuel Mehrbrodt
228caa2baf tdf#151745 Fix input line redraw issue after resizing calc window
Change-Id: Ia8a7e1ab6b68f10f19733d8ce7f36d9ea02d4785
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147352
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-02-23 07:06:59 +00:00
Samuel Mehrbrodt
a2732de4bd tdf#153640 Fix changing chart background color back to None
Change-Id: I653028d6016ca0caa72cb2a877cd23592c322a18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147351
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-02-23 07:04:15 +00:00
Stephan Bergmann
dc96de7c62 Extend loplugin:cppunitassertequals to more argument types
Change-Id: Ic2990ebc2e4a9a36dcd3f90c5f634ca7dd225d52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147491
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-02-23 07:04:09 +00:00
Noel Grandin
6d404f9cca make create_virtual_device not use a separate alpha layer
so that the gtk and the normal path do the same thing

Change-Id: I69bb7be98e5834b0f20db66a67b3c37cc9d09676
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 06:12:39 +00:00
niket1322git
e4fb37353e tdf#143148 Use pragma once instead of include guards
Change-Id: I3d3c34f5f131578c7208c12462f03efac357fa05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147484
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-02-23 05:52:01 +00:00