summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)Author
2021-07-23sw: get rid of MmToTwips function and use o3tl::convert insteadTomaž Vajngerl
It's used in 1! place only (but could be others have been coverted already). Change-Id: I6ba9dbaf00afe7662321fa202eaaaa652d16e0b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119395 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-07-23sw: handle mbStylesNoDefault when replacing compat optionsMiklos Vajna
This is off by default and it may be in for Word documents. Change-Id: I5f350f42d795c4272e8b11fcc28a65265eff7243 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119381 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-22set size properly when setting embed size from fallback graphicLuboš Luňák
When loading e.g. OLE from ReqIF, the file contains object tag for the OLE and then as a fallback also an image. This loading code apparently sets the OLE geometry to the same as the image, for whatever reason, but if that's to be done, at least do it consistently, the same way it's done when reading the OLE. Otherwise e.g. relative width is ignored. Change-Id: Ifeafaefa4274db9ddffc6ff16210f7ecc2301a3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117464 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-07-22Fix typosAndrea Gelmini
Change-Id: I38c7fda55f7d24f7265b58d56222187f2aa1e5d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119286 Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-07-22sw: document SwArrowPortionMiklos Vajna
One would assume it's just a painted indicator, but no, it has its own portion. Change-Id: Iddd93541766cb13600a978465937b1ef7d7e6200 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119374 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-22tdf#143244 sw: fix redo of adding table rows breaks table styleBalazs Santha
This fixes a bug, which caused the break of table style when redo of inserting table rows, Normally, upon inserting a row, the formatting of the table is updated by the UpdateTableStyleFormatting() function. In certain situations (e.g in the description of the bug) this update wasn't successful. This was beacuse, the update function didn't know which tableNode needs to be updated. As the proper tableNode we need is already calculated in the SwTable::InsertRow function, we simply had to pass this argument too. Change-Id: I81ebd7bb37eebc9be8974f3f7a1adc5ad4ba1e7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119249 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-22sw bibliography, local copy: add context menuMiklos Vajna
This way in case a bibliography entry (field) has both a URL and a LocalURL, it is possible to choose which one should be opened when the context menu is used on the field. This is meant to be the primary way the user consumes this information. Change-Id: I21b72505f8387943424665bff70905f774771d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119373 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-22tdf#143464: fix SmartTag managementJulien Nabet
by putting back missing information in lcl_FillRecognizerData Regression from e98711c14db9348f4d3f7d0f5bbde9276a3e73bc loplugin:unusedfields in sw (2018-12-12) Change-Id: I2e99df1a712915851c30c018a1f7279756da72de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119346 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22flatten vcl::LazyDeleteNoel Grandin
we can allocate the stored value in-line and avoid some pointer-chasing Change-Id: I828814b127923cdcec1bf57b3b64dffab4cffaaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119298 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22tdf#139426 Supress AssertFlyPages in Tabe re-layoutArmin Le Grand (Allotropia)
The current code tries to on-demand create content in form of a SwBodyFrame at a SwPageFrame. That unexpectedly and unfortunately leads - when done during a Table re-layout action - to an endless layout loop. I tried quite some solutions, but the simplest and safest is to just supress AssertFlyPages in that specialized TableLayout. Other solutons may break MailMergse, so CppunitTest_sw_mailmerge needs to be checked with any fix in this area. For more details, see tdf#task comnments. Change-Id: I02de9ee72848061497678936aa1d0c492694bfc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119324 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-07-22sw: use SfxPoolItem::StaticWhichCast() in InitCore()Miklos Vajna
See commit 0025e80ba6d882f6f885499efaf37ab0e2ed699d (sw: use SfxPoolItem::StaticWhichCast() in SwTextBoxHelper, 2021-07-07) for motivation. Change-Id: I292e1e8ec4f2536b213d76fdc1f45d3298c3fe03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119340 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-22Dereferencing uninitialized pointerMike Kaganski
SfxItemSet::GetItemState returns SfxItemState::DEFAULT without resetting the passed pointer. Regression after commit dd5bf12193471f064bf7f581dd1b21783390e735. Change-Id: I1e427a05f8e5b375f50d81b51d32e78fca83eb42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119348 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-21flatten SwShareBoxFormats a littleNoel Grandin
Change-Id: I1ddbc0d2d9969597491f47ddbabd99badfee78a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119334 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21sw bibliography, local copy: add document model & UNO APIMiklos Vajna
The idea is that a bibliography entry (field) can have not only an URL (which might be unavailable due to lack of network connectivity, paywall, etc) but also a local copy, which is also a URL. The local copy doesn't replace the original URL. The local copy is stored part of the document, since it may be a relative URL, e.g. ODT + several PDFs copied around in the same directory. This commit just starts this feature, up to the extent that read and write of the new property works. Change-Id: I3c4df2be3a1f3b02a87c097f8a0630951def09d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119322 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-21Avoid external processes picking up instdir/program/libnspr4.soStephan Bergmann
...which is a problem in ASan builds, as seen with a failing CppunitTest_sd_import_tests (among lots of other similarly failing tests): > Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-5.fc34.x86_64/lib/libsystemconf.so: ~/lo/core/instdir/program/libnspr4.so: undefined symbol: __asan_option_detect_stack_use_after_return > at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) > at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442) > at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498) > at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694) > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648) > at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830) > at java.base/java.lang.System.loadLibrary(System.java:1873) > at java.base/java.security.SystemConfigurator$1.run(SystemConfigurator.java:67) > at java.base/java.security.SystemConfigurator$1.run(SystemConfigurator.java:65) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/java.security.SystemConfigurator.<clinit>(SystemConfigurator.java:65) > at java.base/java.security.Security.initialize(Security.java:208) > at java.base/java.security.Security$2.run(Security.java:93) > at java.base/java.security.Security$2.run(Security.java:91) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/java.security.Security.<clinit>(Security.java:91) > at java.base/sun.security.jca.ProviderList.<init>(ProviderList.java:176) > at java.base/sun.security.jca.ProviderList$2.run(ProviderList.java:94) > at java.base/sun.security.jca.ProviderList$2.run(ProviderList.java:92) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/sun.security.jca.ProviderList.fromSecurityProperties(ProviderList.java:91) > at java.base/sun.security.jca.Providers.<clinit>(Providers.java:54) > at java.base/java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:264) > at java.base/java.security.SecureRandom.<init>(SecureRandom.java:219) > at java.base/java.util.UUID$Holder.<clinit>(UUID.java:101) > at java.base/java.util.UUID.randomUUID(UUID.java:147) > at org.probatron.officeotron.sessionstorage.Store.putZippedResource(Unknown Source) > at org.probatron.officeotron.CommandLineSubmission.<init>(Unknown Source) > at org.probatron.officeotron.Driver.main(Unknown Source) > warn:svl.items:1258842:1258842:svl/source/items/itempool.cxx:358: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty. > ~/lo/core/test/source/bootstrapfixture.cxx:232:SdImportTest::testDocumentLayout > equality assertion failed > - Expected: 0 > - Actual : 256 > - failed to execute: sh ~/lo/core/bin/officeotron.sh ~/lo/tmp/SdImportTest__testDocumentLayout_16w8dw.tmp > ~/lo/tmp/SdImportTest__testDocumentLayout_16w8dy.tmp The solution reuses the arg-env bootstrap variable already used by test::OfficeConnection::setUp (unotest/source/cpp/officeconnection.cxx) and for that makes test::getArgumnet available outside Library_unotest. (For simplicity, it adds the relevant gb_CppunitTest_add_arguments calls unconditionally to the various *.mk files, even though the data is only used conditionally for non-_WIN32 in test::BootstrapFixture::validate in test/source/bootstrapfixture.cxx, at least for now.) Not sure what exactly started to cause this issue now for my ASan builds on Fedora 34. Change-Id: I7a4d6c0e36b94935442c6c91d5ee967fcad61763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119317 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-07-21IsVertical->IsEffectivelyVertical, GetDirectVertical->GetVerticalMike Kaganski
Before commit 653b53287ca09a9ffe3f5ce0242919e719c1086c, editengine objects had a pair IsVertical/SetVertical, which queried and set a boolean flag (and SetVertical also had a second argument to set another flag). The mentioned commit had introduced an inconsistency, changing SetVertical to only set a single flag, but at the same time making IsVertical to return a synthesized result from two values: vertical and rotation. Additionally, GetDirectVertical was introduced to complement SetVertical. In many places, the use of synthetic IsVertical looks suspicious, especially where it is used in combinations with SetVertical. But here I don't change existing logic, and only rename the methods, so that in case someone sees an actual problem, it would be easier to spot the method mismatch. The end result is that now we have a proper getter/setter pair GetVertical/SetVertical, and also IsEffectivelyVertical, named to reflect that it calculates its return value. Change-Id: I38e2b7c5bd7af0787dd7a1c48e1385138dac80b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119315 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-21lok: fix incorrect multi-view table selection updatesDennis Francis
Use the correct writer shell to fetch selected table info, else the active view's table selection data is sent to all views which is incorrect. Also avoid interference from draw empty table updates in SdrMarkView::SetMarkHandlesForLOKit() if we are in writer. [tml: In this branch, this commit also includes a fix from Miklos.] Change-Id: Iff8181a7d43712e3c9a23cee43a8b6b98ba032d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119299 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-21can pass SfxItemSet around by value in SfxShellNoel Grandin
Change-Id: I80ee25c56da437d778e11f2dab3d07845ebd9597 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119274 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21CppunitTest_sw_ooxmlexport3: 1 removal of DECLARE_OOXMLEXPORT_EXPORTONLY_TESTMiklos Vajna
It shows that this is doable, but it also shows that we probably need some kind of loadAndSave() oneliner before a mass-conversion. Change-Id: Ia37423a2d84b4a155cfd5fa57b14b11f25fdd3eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119291 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-20EditTextObject: use virtual interface instead of pimplMike Kaganski
Makes it simpler, and avoids extra allocations Change-Id: I301f628a2898f6421242808cbf8ce36c5acf9b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119241 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-20sw XHTML import, improved <object> handling for images: support more formatsMiklos Vajna
This was working for only png and gif in the past, handle more formats: - bmp - jpg - emf - svg - wmf - tif Change-Id: I2af42157428550977f0abab88f2ed728636d2a02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119287 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-20tdf#143399 DOCX import: fix lost endnotes or footnotesLászló Németh
in a document containing both of them. Regression from commit 7dd8f8aace536a8e60e87e61ee1d90d61fba15eb "tdf#120351 DOCX import: fix slow endnote import". Change-Id: I0fe764f3b48dd2688afa4b7cf0ee6658737ef9fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119239 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2021-07-20tdf#123321 Fix DOC/DOCX export bug which made some lines disappearHossein
* Fix the wrong calculation of SdrPathObj (line) extent while exporting to .doc and .docx formats. This resolves tdf#123321 which cause some lines to disappear after save and reload. This fix does not break tdf#91687 * added tests to make sure this does not happen again, based on the .doc file provided in Bugzilla * Loading the bad exported file in MS Word is OK, but it does not work in LibreOffice, and some of the lines will be hidden. This needs additional work. The regression came from d72e0cadceb0b43928a9b4f18d75c9d5d30afdda Change-Id: Ic5a7af4d29df741204c50590728542e674ee9f91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119116 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-20Resolves tdf#143066 - Language set to None for indicesHeiko Tietze
Disables spell-checking on ToC Change-Id: I6601d8c54974fcc70564292176a71a80d91020e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119222 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-07-20Drop BuildWhichTable and avoid reinterpret_casting a struct to arrayMike Kaganski
Change-Id: I9312282fb2959d3b0e2ccdac32c97c65555a82c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119224 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-20Use WhichRangesContainer::MergeRange instead of SfxItemSet::MergeRangeMike Kaganski
The former is cheaper: it does not need to recreate item array each time. Change-Id: Iab65929b4f1a1325ebe572b37503b041371998ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119225 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-19Using empty which range makes no sense hereMike Kaganski
This is this way since initial implementation in commit 6cd37e708c588c2a0a1a31e1ae4d35e11450fea4; still, this makes no sense, since this means that the property set is unused, and nothing gets stored in the set. Let's use a 1-element range here, matching the property set returned by corresponding GetPropertySet call. Change-Id: I6107e5144913a1776a79cdceb22c537629d7115c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119182 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-19sw: fix indentation for better readibilityXisco Fauli
After 9a8c8053b4fb322edb1e45b891307cdad1f3d41f < Resolves tdf#113171 - Text box must not toggle command > Change-Id: I867a012f18634ee8f83bfa2899f97eec1fae4630 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119202 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-07-19Use reference to WhichRangesContainer instead of pointer in swMike Kaganski
Change-Id: I8e6418ce08f339824433e9af52259b2a8f3bb71d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119226 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-19sw XHTML import: improve handling of <object> with imagesMiklos Vajna
The reqif/xhtml export can map images to a pair of <object> elements: the outer one contains the real image and the inner one contains a PNG fallback. We used to import this back to OLE objects, except for PNG, which has a single <object> element. Improve this by allowing the pair of <object> elements as well: if the outer type is GIF, then map this to an image and ignore the inner PNG. Change-Id: I5c56720cf6a054208cd0478a54bdac15ffece9aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119221 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-19jsdialog: sidebar: avoid duplicated widget idsSzymon Kłos
all controls for sidebar goes to the same window id we need different names for every widget so create valuesets with different name every time Change-Id: I69074e607bfe5fa6db665c0dbcae1f029d13a161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116836 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119196 Tested-by: Jenkins
2021-07-19Move svl::Items to include/svl/whichranges.hxx, and unify its usageMike Kaganski
... in WhichRangesContainer and SfxItemSet ctors. Now it's not needed to explicitly use 'value' in WhichRangesContainer's ctor, or create an instance for use in SfxItemSet ctor (svl::Items is already defined as a template value of corresponding type). Instead of WhichRangesContainer Foo(svl::Items<1, 2>::value); SfxItemSet Bar(rItemPool, svl::Items<1, 2>{}); now use: WhichRangesContainer Foo(svl::Items<1, 2>); SfxItemSet Bar(rItemPool, svl::Items<1, 2>); Change-Id: I4681d952b6442732025e5a26768098878907a238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119157 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-19sw: prefix members of SwXMLConditionParser_Impl, ...Miklos Vajna
... SwXMLItemSetStyleContext_Impl, SwXMLTextParagraphExport and SwXMLTextStyleContext_Impl. See tdf#94879 for motivation. Change-Id: Ia48f9840dde06531c2178ddf5c8ee5457b3706cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119152 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-19sw: xDictionary may be an empty reference in SID_SPELLCHECK_IGNORE_ALLMiklos Vajna
Seen in a crashreport: handleFatalSignal ./common/SigUtil.cpp:255 /lib/x86_64-linux-gnu/libpthread.so.0 __restore_rt ??:? program/../program/libswlo.so SwTextShell::Execute(SfxRequest&) sw/source/uibase/shells/textsh1.cxx:1496 Change-Id: I709f361a1396abbb07cea06509afc41bb5f5c9a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119067 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-19tdf#128814 sw navigator: Make right-click select entryJim Raykowski
before context menu is shown Change-Id: I890efd794aaa88ac6bde6bf41b3976b8c27a3273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118709 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2021-07-17use WhichRangesContainer in swNoel Grandin
Change-Id: I8662b2e03b0dbe3a7206d8b59ae3556e3b2e75a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119007 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-17move BuildWhichTable and simplifyNoel Grandin
move it to the only place using it, and simplify Change-Id: I4a46b5d01f042e7b2e99b7dd1d28f67feda037d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119086 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-17Bin useless commentTor Lillqvist
Change-Id: Ifc7e36aa1df56cf532b698c8671cabbb35061bac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119076 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-07-16Fix typosAndrea Gelmini
Change-Id: Iae3eec214849676be51ded133c1ffd9cf2e56ef0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119074 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-07-16tdf#92796 ODF import: remove unused bitmap fillsMichael Stahl
With CWS impress64 a partial fix for this was implemented to drop unreferenced named items including all non-color fills after ODF import, but this is only done in sd so move the code that does that to svx and call it from sc and sw as well. Implement some UNO interface for this, it's at least better than a magic string, and not obvious how a better solution would look like since it's known only at the end of the import if a bitmap is used or not. Another problem: when the Area tab is used to change to a different kind of fill, the items with the details for the previous fill aren't cleared, and so they are written to ODF files. Hence bitmaps in the file can be referenced even if they aren't actually used, and bloat up the files. Fix this by dropping all unused draw:fill-image-name attributes in ODF import. Also do the same for Gradient and Hatch fills; Transparency gradients can be combined with anything so leave them as they are. Change-Id: I0b591fd9f963d974d0c3e7208b99621ad61dd93c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118950 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-16crashtesting: UaF on layout of fdo53985-1.docxCaolán McNamara
Change-Id: Id8ca0d277f485347e21bd8d6d68de2a7de13de48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119060 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-16Only change SwLayAction::m_bAgain via SetAgainCaolán McNamara
no logic change intended Change-Id: Ib0174f8040faa3efde7b9c5ba9b062bac5a35da3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118983 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-16Fix lang::Locale.Language usage, tdf#128191 follow-upEike Rathke
Using plain lang::Locale.Language is always wrong, it may even be 'qlt' for a more complex language tag. As the InfoBar message is "Please install the hyphenation package for locale “%1”." actually use the BCP 47 language tag of that character/paragraph attribution. Spotted in https://ask.libreoffice.org/en/question/280102/install-the-hyphenation-package-for-locale-ka/ https://ask.libreoffice.org/en/question/238764/error-message-reads-install-the-hyphenation-package-for-locale-zh/ Change-Id: I5805d4d711989a9d0260940666d3eb33eae830af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119020 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-07-16tdf#82111 rtf import: ensure CR before section breakJustin Luth
In other places, there were caveats for applying a CR when inserting instead of importing, or when in a header, but none of those seem to apply in this case. A section cannot occur in a table, and anytime a section occurs, it ought to finish off the paragraph. So a simple clause seems good enough here. There were basically two different existing unit tests that match this condition, and neither of them were currently mis-handled. I safely adapted one of them to imitate the error condition I was addressing. Change-Id: Ie8ccd3978276bf10321e0bf80141572f40102874 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118819 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-16sw: handle mbProtectForm when replacing compat optionsMiklos Vajna
This is off by default and it may be in for Word documents. Change-Id: I5f694bb505c2b43bea67712a2076dc5f370d03b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118994 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-16Move validity check to svl::Items, to avoid invalid WhichRangesContainerMike Kaganski
This uncovered lots of pre-existing invalid ranges, e.g. introduced in commit 6dbfbebad37fd84208e4c336f0864d26019db153, or in much older commit 46952138c938730afcc3607e1a524bb590b0e30e. Also this makes the static in svl::Items to be array of WhichPair, to avoid questionable reinterpret_cast in WhichRangesContainer ctor. Change-Id: I86030b2a2ac0a6d98870f8f7f5cc83e071c6597c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119003 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-15drop the Pair constructor from SfxItemSetNoel Grandin
just so we have one fewer odd constructors here Change-Id: I81278e9436747a4eb46a33da9bfec7a8b30079b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118982 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-15tdf#134452 sw: fix page break disappears after applying table styleBalazs Santha
After setting the break and pagedesc property of a table, applying a table style (autoformat) caused the loss of these settings. This was because, when applying a table style, the SwTableAutoFormat::RestoreTableProperties() overrid these settings with its own default settings. As the autoformats can never be modified, and they don't really use these two props, the easiest way to prevent any problem was to completely remove these properties and its uses. Unfortunately, m_aBreak couldn't be removed entirely, as the autoformats are stored in a binary file, and to be able to read and write these files the offset of the subsequent items must not be changed. Change-Id: Ieba439d3ba5da892b39f00f8b61c5c8467306635 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118662 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-15WhichRangesContainer, reduce malloc in SfxItemSetNoel Grandin
SfxItemSet shows up in perf profiles frequently, and the hottest part is the malloc of the two arrays we need. But most of the time, one of those arrays is a compile-time constant. So this change introduces (*) WhichRangesContainer, which manages whether the SfxItemSet owns the array it points at or not. (*) a static const member in svl::Items (idea from mkaganski) to store the data. Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-15tdf#119695 only add word to autocomplete suggestions when the cursor leaves itCaolán McNamara
so that incomplete words are not added as autocomplete candidates even if they form a legal word. This is similar to what we do for marking words is misspelt Change-Id: Ib6b209b68bbcf51fa24ea5c4d995579acf682e52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118974 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>