summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)Author
2023-12-24Drop some wrapper methods from SvtAccessibilityOptionsGabor Kelemen
just use the wrapped officecfg methods instead of: GetIsAllowAnimatedGraphics GetIsAllowAnimatedText GetIsAutomaticFontColor IsSelectionInReadonly Change-Id: I74de75fc9ff2f9a36ef376255e937bb373055587 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161236 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-12-24Remove unused headers found by bin/find-unusedheaders.shGabor Kelemen
Change-Id: I859138dee575ef7fd76db28b619c673782914782 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161235 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-12-23cid#1546006 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545999 COPY_INSTEAD_OF_MOVE cid#1545995 COPY_INSTEAD_OF_MOVE cid#1545994 COPY_INSTEAD_OF_MOVE cid#1545989 COPY_INSTEAD_OF_MOVE cid#1545982 COPY_INSTEAD_OF_MOVE cid#1545977 COPY_INSTEAD_OF_MOVE cid#1545970 COPY_INSTEAD_OF_MOVE cid#1545856 COPY_INSTEAD_OF_MOVE cid#1545845 COPY_INSTEAD_OF_MOVE cid#1545838 COPY_INSTEAD_OF_MOVE cid#1545776 COPY_INSTEAD_OF_MOVE cid#1545774 COPY_INSTEAD_OF_MOVE cid#1545744 COPY_INSTEAD_OF_MOVE cid#1545719 COPY_INSTEAD_OF_MOVE cid#1545716 COPY_INSTEAD_OF_MOVE cid#1545687 COPY_INSTEAD_OF_MOVE cid#1545648 COPY_INSTEAD_OF_MOVE cid#1545643 COPY_INSTEAD_OF_MOVE cid#1545641 COPY_INSTEAD_OF_MOVE cid#1545604 COPY_INSTEAD_OF_MOVE cid#1545531 COPY_INSTEAD_OF_MOVE cid#1545530 COPY_INSTEAD_OF_MOVE cid#1545524 COPY_INSTEAD_OF_MOVE cid#1545516 COPY_INSTEAD_OF_MOVE cid#1545501 COPY_INSTEAD_OF_MOVE cid#1545486 COPY_INSTEAD_OF_MOVE Change-Id: Idcf3e27bb9e81b6a77d5ef75c9376eb1d6aff8c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161245 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-23cid#1546064 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1546034 COPY_INSTEAD_OF_MOVE Change-Id: If533400b570f20d80f1c41431ceba81579e0e25d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161242 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-23sw: uitest: remove redundant functionU-DESKTOP-CETSUCA\sigma
Change-Id: I772771b7d455bae8be1dffed29fbc3605ea3e3fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158981 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-12-23tdf#111969 sw: add selected smarttag to context menuJustin Luth
If the smart tag was selected (from start to end), then GetPoint() was returning the end position which is considered to be outside of the smarttag. Instead, use Start(), which doesn't care which direction the selection happened in. Smart tags REQUIRE an extension, so no unit test possible. Change-Id: I3ad2f686a9f5d6accb0d1ac2ffbf272260249223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161194 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-12-22tdf#98321 Checkbox: size like WordOliver Specht
Display checkboxes imported from docx/rtf in the same size as Word. Additionally apply font highlighting if available. Change-Id: Ifea4aebf8c39b6cdd750f3c90e121da0c4131d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161124 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-22tdf#158451 sw: fix crash in text formatting of as-char group shapeMichael Stahl
The problem is that during formatting of a SwTextFrame, SwTextFly contains a list of all anchored objects that could overlap, and then creating a portion for the as-char anchored group shape sets the anchor property and thereby unexpectedly deletes the child anchored object, while SwTextFly stores a pointer to it: 4 SwFlyLayFrame::~SwFlyLayFrame() 5 SwFrame::DestroyFrame() 6 SwFrameFormat::DelFrames() 7 SwDoc::SetFlyFrameAnchor() 8 lcl_SetFlyFrameAttr() 10 SwXFrame::setPropertyValue() (this=0x4042de0, rPropertyName="AnchorType", _rValue=uno::Any("com.sun.star.text.TextContentAnchorType": com::sun::star::text::TextContentAnchorType::TextContentAnchorType_AT_CHARACTER)) at sw/source/core/unocore/unoframe.cxx:1941 11 SwTextBoxHelper::changeAnchor() 12 SwTextBoxHelper::synchronizeGroupTextBoxProperty() 13 SwTextBoxHelper::synchronizeGroupTextBoxProperty() 14 SwFlyCntPortion::SetBase() 15 sw::DrawFlyCntPortion::Create() 16 SwTextFormatter::NewFlyCntPortion() This is because after the import is complete, only the group shape has its anchor set, while the child shapes all have a default FLY_AT_PAGE anchor. There is already code in SwXShape::setPropertyValue() to propagate the new anchor to children, but it's limited to group shape with more than 1 text frame; very unclear why this limit exists so just remove it. Change-Id: Ide0f9def36e3b4eff6140206e3dfa4ee2c65e3eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161137 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-22sw: fix another null deref in a11y checkXisco Fauli
similar to author Caolán McNamara <caolan.mcnamara@collabora.com> 2023-12-21 16:47:18 +0000 committer Caolán McNamara <caolan.mcnamara@collabora.com> 2023-12-21 21:15:03 +0100 commit ba712e9a35179c480cdc6f9d600d79040a273d53 (patch) tree 88e237265eb6ce884d2807b4c178a761d4c73956 parent 8cd01e5278b2be25a1186139e431591a85a5080f (diff) crashreporting: apparent null deref in a11y check Change-Id: I3fb6a916fcbcce4b599a925dcc7d39a12e60a972 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161149 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-22cid#1546500 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1546492 COPY_INSTEAD_OF_MOVE cid#1546468 COPY_INSTEAD_OF_MOVE cid#1546431 COPY_INSTEAD_OF_MOVE cid#1546382 COPY_INSTEAD_OF_MOVE cid#1546350 COPY_INSTEAD_OF_MOVE cid#1546336 COPY_INSTEAD_OF_MOVE cid#1546314 COPY_INSTEAD_OF_MOVE cid#1546152 COPY_INSTEAD_OF_MOVE cid#1546094 COPY_INSTEAD_OF_MOVE cid#1546077 COPY_INSTEAD_OF_MOVE cid#1546047 COPY_INSTEAD_OF_MOVE cid#1545213 COPY_INSTEAD_OF_MOVE Change-Id: Ia51df9f9cbde755db4d2685e34f22676ed5eceff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161141 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-21address nit: put unit tests in anonymouse namespaceJustin Luth
https://gerrit.libreoffice.org/c/core/+/160655/5/sw/qa/extras/rtfexport/rtfexport8.cxx Miklos "nitted" me that I didn't wrap this test in an anonymous namespace. Obviously anything I do is simply copy/paste, so lets make sure that at least the latest and greatest versions of each series of unit tests are done "correctly". Change-Id: I699c8d70e4f587373918e27f08304a0fe815bff4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160991 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-12-21Fix typoAndrea Gelmini
Change-Id: If3cc7a17e760dc5033a05f75e1411a20319d0158 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161139 Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-12-21tdf#158114 SwNavigator: Make images with broken links easier to findJim Raykowski
This patch makes an icon display in image entries with broken links to make it easier to find images with broken links. Change-Id: I470c9959e169d4cc53a44e0a64e88af35e671db0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161045 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2023-12-21crashreporting: apparent null deref in a11y checkCaolán McNamara
svl/source/items/itemset.cxx:801 svl/source/items/itemset.cxx:796 sw/source/core/access/AccessibilityCheck.cxx:1193 sw/source/core/access/AccessibilityCheck.cxx:1184 sw/source/core/access/AccessibilityCheck.cxx:1562 sw/source/core/access/AccessibilityCheck.cxx:1552 sw/source/core/txtnode/OnlineAccessibilityCheck.cxx:134 cppu/source/uno/copy.hxx:288 cppu/source/uno/any.cxx:72 cppu/source/typelib/typelib.cxx:1328 cppu/source/typelib/typelib.cxx:2169 Change-Id: I91a83ffb9f1912dd9736e3d6a194f63475f63b99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161136 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-21export UserAllowsLinkUpdate via AllowLinkUpdate propertyCaolán McNamara
Change-Id: I3dca61490ba9ad2912faf0bb431fb643f248c247 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161123 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-21Remove DeleteItemOnIdlexArmin Le Grand (allotropia)
There are some CrashReports in 7.6 which have DeleteItemOnIdle on the stack, but there is nothing reproducable. So I took a look... I first thought it's a MCGR regression, due to classes on the stack. But the Item involved is just random, can happen with any Item. Then I thought it may have to do with ITEM refactorings, but it happens with DeleteItemOnIdle involved, so also not the case. I already saw DeleteItemOnIdle when doing these and qualified as 'hack' in the way. already It is only on Windows and DeleteItemOnIdle is involved. This again (took a deeper look now) is an old hack to keep an SfxPoolItem 'alive' for some 'time'. For that, it triggers an async reschedule which then deletes the Item when being called. If the Item will be used after that is pure coincidence - seems to work in most cases. It seems as if for Windows the timing slightly changed for some scenarios, so a reschedule is too early. This can happen with this hack anytime. DeleteItemOnIdle is used in scenarios where SfxPoolItem* is e.g. returned, but is *not* anchored, so e.g. not member of an SfxItemSet. Or in short: Lifetime is not safe. DeleteItemOnIdle exists since 1st import, but was changed to AsyncEvent ca. 4 months ago (see 57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may have caused it. It is possible that these errors happen on Windows since then. Before something more complicated was used to delete it late, but surely also not really safe. Due to ITEM refactor I have the knowledge/tooling to solve this. It will not be a 1-5 lines fix, but it is a hack and in the way for further ITEM refactor anyways. What we have nowadays is a SfxPoolItemHolder -> it's like an SfxItemSet for a single Item. It safely holds/ controls the lifetime of an SfxPoolItem. It is already used in quite some places. It helps to solve many hacks, also the ones putting Items directly to the Pool - due to there never was an alternative for that. In principle the ItemPool/ItemSet/Item paradigm was never complete without SfxPoolItemHolder. Thus I started to fix that (and remove that hack for good, sooo many changes over the years, sigh), but as said is not straightforward. Will have to change retvals of involved stuff to SfxPoolItemHolder - it's just two pointers and designed to be copied (one is a Pool, needed to cleanup when destructing). CopyConstruct/destroy just counts the RefCnt up/down, so cheap. 1st version compiling, let's check on gerrit... Corrected one error in QueryState for securitypage, also added some security features/asserts. Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-12-21CppunitTest_sw_uiwriter9: avoid external fontsXisco Fauli
Change-Id: Ieb890a0e2ceebbd81977069cf0813e746e38c835 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161121 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-21tdf#158785 partial revert "enable hyperlink to be detectedJustin Luth
... at the end of text" This reverts lpranam's 7.2.0 regressive commit 3233db0913193855285e1f56492d4617368441b6. The character after a hyperlink should not offer to CTRL-click or jump to the hyperlink target. make CppunitTest_sw_uiwriter9 CPPUNIT_TEST_NAME=testTdf158785 Change-Id: I3f5398cc3a4f29ddf1c50764c311046713d39439 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161042 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-12-21Add export sheet range option to calcNickWingate
User can specify which sheets to export e.g. '2-5,7' exports sheets 2,3,4,5,7. Note: this is different from exporting pages as one sheet may contain several pages worth of content. Also fix a bug where exporting only a selected sheet causes the next sheet to be exported. e.g.: Sheet 1 is empty, Sheet 2 has content. Exporting Sheet 1 results in Sheet 2's content being exported Signed-off-by: NickWingate <nick.wingate@collabora.com> Change-Id: Iecd42188ddbbbcd70eb37bec80783e29e3cb5b19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156255 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159686 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-21CppunitTest_sw_rtfexport8: avoid external fontsXisco Fauli
Change-Id: I7fb3f54134e3cf5a2f4fd318f36df35a4b5967dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161068 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-21tdf#158375: adapt UI when DDE is disabled via DisableActiveContentSarper Akdemir
When DisableActiveContent is set, provide now non-functional areas meaningful error messages / popup dialogs. Change-Id: I34bffee10fb0ba5c0194193f3d3d81b93d7dbd26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160923 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2023-12-21tdf#141908: replace hex colors with color keywordsKira Tubo
Update hex colors 0x000000, 0xFFFFFF, and 0xFF0000 with COL_BLACK, COL_WHITE, and COL_LIGHTRED, respectively. See comment #30 for more details. Change-Id: I82ff851d8c19f9ef4aeeb01bff313160da615222 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160452 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-12-20tdf#158762 RTF writerfilter: fix list importOliver Specht
While importing the properties NumberingRules and NumberingStyleName interfere with each other. Avoid overwriting NumberingRules with an invalid NumberingStyleName. Regression from 588ff9a228f4894142264c68392ed1e9800a4d7d Change-Id: I706ea514da43faae0fdb9a2c0d4f5b1928ef55f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160967 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-20CppunitTest_sw_ooxmlexport20: remove copy&paste leftoverXisco Fauli
from author Xisco Fauli <xiscofauli@libreoffice.org> 2023-10-30 16:22:07 +0100 committer Xisco Fauli <xiscofauli@libreoffice.org> 2023-10-31 08:43:11 +0100 commit 117133575961dbce292a24f8afa1414785f2282c (patch) tree 29e6a859c0f48659fc5cc0dfd89da72037cb3db3 /sw/CppunitTest_sw_ooxmlexport20.mk parent a04fc307ba2706bb9e5b8441aaf4380797b5f397 (diff) CppunitTest_sw_ooxmlexport5: split into two Change-Id: I5ef959adb119af22b6c17ef7d64465166a13360b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161069 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-20no need to use unique_ptr hereNoel Grandin
Change-Id: I1e7ef79eefa18c39f647749d6f7c94e2bff20462 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161057 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-20tdf#158794: do not try to insert DDE table into footnotes / endnotesMike Kaganski
Until tdf#76007 is fixed, of course. Change-Id: Iad7fb0de679e024a8cebdd005ac5a66af3ace163 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161078 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-12-20tdf#158375: disable DDE when DisableActiveContent is setSarper Akdemir
Change-Id: I167f6ea5d740b5a53cd02a9b865e65ff980a8877 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160922 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2023-12-20tdf#158375: adapt UI when embedded content is disabled via optionSarper Akdemir
When DisableActiveContent is set, embedded active content is disabled (e.g. OLE). Therefore the existing ui insertion bits don't function either. Disable them with a warning pop-up hinting "Active content is disabled." Change-Id: I14984684f22df6aff81af79d5a15589b5cae75fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161055 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-20tdf#68364 - Don't assume a database if only two dots are presentAndreas Heinisch
Additionally, a database table name (database.table.column) has to be retrieved from the database to be valid. Change-Id: I8949ae61d96043412425d634763d2ea33ce6a0f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160910 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-12-20Fix typoAndrea Gelmini
Change-Id: I27edc69dc2358a52dbbac54aba0729da73165506 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161065 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2023-12-20Remove executable bits on data filesAndrea Gelmini
Change-Id: I7f26ee458004e2cafda42c119118d96b7bafd0ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161066 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-20Fix typoAndrea Gelmini
Change-Id: Ib5f99a525deeaddbc9e85081acbba62bd6a9cb7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161064 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-20tdf#111969 sw: acknowledge that last half-character for smart tagsJustin Luth
This fixes CTRL-clicking on the last half-character of the smarttag and having nothing happen, or triggering it with the half-character before the smarttag. This is a suggested follow-up to right-clicking on a selection, which had the same problem. smart tags need an extension to activate, so a unit test is impractical in this case. Change-Id: I151c28090b5a6701df16dab95992eeae2aec3ca3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161033 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-12-20tdf#158105 Change character "background" to "highlighting color"Bogdan B
Change-Id: I98dcc9cf0d2e3306275a25ed83dc5692211ed442 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160037 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Hossein <hossein@libreoffice.org>
2023-12-20cid#1545835 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545830 COPY_INSTEAD_OF_MOVE cid#1545798 COPY_INSTEAD_OF_MOVE cid#1545784 COPY_INSTEAD_OF_MOVE cid#1545753 COPY_INSTEAD_OF_MOVE cid#1545752 COPY_INSTEAD_OF_MOVE cid#1545672 COPY_INSTEAD_OF_MOVE Change-Id: Iaf2f77cb27ae0ea1585416a0c500f7c50d04e3fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161007 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-20CppunitTest_sw_rtfexport: avoid SwModelTestBase::getLength()Miklos Vajna
Better to check the body text, not just the length. Change-Id: Id98cc408772c5d2c135bdd184d58a5eb12f1c011 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161005 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-20related tdf#111969 fix smart tags job not being fired, due to typoJustin Luth
This fixes quikee's 7.5 regression commit 01396925b76011ffccb6eea40956a22d58de6f17 If this is a help document, we don't want to run smart tags, not the other way around. It was correct originally - assuming this was just a typo when the tests were pulled out into a function. Change-Id: Ie21ed256539ce242a7892c1ddc1556319fc45310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161006 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-12-19tdf#119908 tdf#158776 sw smart justify: shrink only spacesLászló Németh
For interoperability, only shrink spaces up to 20%, not the lines up to 2%. Follow-up to commit 20cbe88ce5610fd8ee302e5780a4c0821ddb3db4 "tdf#119908 tdf#158419 sw smart justify: fix cursor position" and commit 7d08767b890e723cd502b1c61d250924f695eb98 "tdf#130088 tdf#119908 smart justify: fix DOCX line count + compat opt." Change-Id: Idb43161cb5a57c3412abd3f0eb266c6afbe5363c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160988 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2023-12-19tdf#158044 writerfilter: handle toggle properties in import/exportOliver Specht
DOCX has some odd properties (bold, italic, shadowed, hidden ...), which switch on/off if they are applied multiple times, e.g. with paragraph and character styles. To fix that, a hard attribute has to switch off the attribute in that occasion on import and on export a hard attribute switches it on in Word. Includes partial fix for tdf#154370. Change-Id: Ie4c317cf9b7d02efd89b9d6a9996143585d7e937 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160343 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-19cid#1557601 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1546498 COPY_INSTEAD_OF_MOVE cid#1546384 COPY_INSTEAD_OF_MOVE cid#1546376 COPY_INSTEAD_OF_MOVE cid#1546374 COPY_INSTEAD_OF_MOVE cid#1546373 COPY_INSTEAD_OF_MOVE cid#1546368 COPY_INSTEAD_OF_MOVE cid#1546365 COPY_INSTEAD_OF_MOVE cid#1546356 COPY_INSTEAD_OF_MOVE cid#1546340 COPY_INSTEAD_OF_MOVE cid#1546266 COPY_INSTEAD_OF_MOVE cid#1546236 COPY_INSTEAD_OF_MOVE cid#1546188 COPY_INSTEAD_OF_MOVE cid#1546178 COPY_INSTEAD_OF_MOVE cid#1546166 COPY_INSTEAD_OF_MOVE cid#1546156 COPY_INSTEAD_OF_MOVE cid#1546144 COPY_INSTEAD_OF_MOVE cid#1546143 COPY_INSTEAD_OF_MOVE cid#1546100 COPY_INSTEAD_OF_MOVE cid#1546078 COPY_INSTEAD_OF_MOVE cid#1546041 COPY_INSTEAD_OF_MOVE cid#1546036 COPY_INSTEAD_OF_MOVE cid#1546033 COPY_INSTEAD_OF_MOVE Change-Id: Ib3586d93198992e206baf5c2de5a663d5574aa3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160979 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-19tdf#154864 Changing starting number of numbered list does nothingNoel Grandin
regression from commit cd3c16fbcb4f8e5e4c4448bc7cda96e8476d6aec Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri Oct 14 15:14:13 2022 +0200 tdf#129101 CTRL+A & Cut very slow avoid repeated invalidation of number tree, shaves 90% time off The problem is that, after the above change, InvalidateListTree is not called late enough to force invalidation of all necessary stuff. So simply delay that until we do re-validation in SwNumRule::Validate. Change-Id: I796cc34fe7d66d4876ee06286a8af7029a759eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160974 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-19tdf#158586 RTF writerfilter: substitute hasProperties for inFrameJustin Luth
A proper inFrame() would be identical to hasProperties, so just substitute the existing, complete function for inFrame. This is based on a code read, not a problem document, but finding a document that depended on inFrame returning true made it trivial to modify it to fail. Somewhat surprisingly, it made it all the way through the rtfexports without failing. make CppunitTest_sw_rtfimport CPPUNIT_TEST_NAME=testFdo52052 Change-Id: I96f00c9b542dabd3709a896d778569b7681c8f19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160928 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-19partial revert tdf#153178 writerfilter: do not create text frame spuriously2Justin Luth
If HoriAlign/VertAlign are defined, that is enough to create a frame. This fixes mstahl's 7.6.4 regression originating with commit 4e2f2489c4c7436f8b3a21a530bc625cbef4e365 make CppunitTest_sw_rtfexport8 CPPUNIT_TEST_NAME=testTdf158586_lostFrame Change-Id: Ibb639673cebcd8d5ec79f5551a5703caf948e0d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160744 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-19partial revert tdf#153178 writerfilter: do not create text frame spuriouslyJustin Luth
If HoriAnchor/VertAnchor are assigned, that is enough to create a frame. make CppunitTest_sw_rtfexport8 CPPUNIT_TEST_NAME=testTdf158586_0B Note: because of a regression, this was already one page before this commit, so need to go back to the time of the reverted patch. Change-Id: Iddbe1cc4ba6d6e95e2d977a227ae6cab5271007e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160743 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-19tdf#158583 tdf#158586 RTF writerfilter: only startRun for real frameJustin Luth
This fixes a LO 7.6.4 regression of a lost page break, as well as another example where part of the paragraph moves to next page, from mstahl's commit 4e2f2489c4c7436f8b3a21a530bc625cbef4e365 It seems likely that the run should only be checked when we know that there is a real frame here, which essentially becomes a run for most purposes (except perhaps for page breaks - as seen for DOCX). This code block was introduced with commit 0d9132c5046e15540abc20e45d64080708626441 Author: Miklos Vajna on Sat Mar 24 13:04:54 2012 +0100 fdo#47036 fix RTF import of shapes inside text frames at the start of the doc and in the other block of touched code, it did test inFrame. The unit test works when compiling right after the regression, but has broken because of tdf#153194. Since this will get backported way back and all over, it is a good time to introduce rtfexport8. make CppunitTest_sw_rtfexport8 CPPUNIT_TEST_NAME=testTdf158586_0 make CppunitTest_sw_rtfexport8 CPPUNIT_TEST_NAME=testTdf158586_1 Change-Id: Ib4b75efb8422d96e693da337cbef97520e975f3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160655 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-19sw: document SwFormatFieldHintMiklos Vajna
Describe the typical producer and typical consumer. Change-Id: Iea2ae67f6a17bc5d84ce0bdc0690d13a22218ae4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160950 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-18Hide text boundaries by default - cool#3491Andras Timar
Change-Id: I13d759e0782d2973957cc1bfbc28853ab5c3bc38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160932 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Jenkins
2023-12-18tdf#158703: return updated position from FnAddNonBrkSpaceMike Kaganski
The paragraph text may become shorter after the function succeeds, because it may remove arbitrary number of preceding spaces; since the position may then be used to access data in the string in the caller, we need to update it, to avoid use of old position (which may point beyond the string, and produce a crash; or it may point to a wrong position in it). Change-Id: Ib1b4b63cbd7150e0f69c97032e3410db7dadd4dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160924 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-12-18tdf#158686 sw floattable: fix print preview crashMiklos Vajna
Regression from commit b8521d969ab5be4fc947e467d4afe969f9d3b563 (tdf#157263 sw floattable: prefer join over split after moving fwd, 2023-09-25), enabling Options -> Writer -> Formatting Aids -> Hidden Characters, then opening the bugdoc, finally Toggle Print Preview on the toolbar resulted in a crash. We have a memory corruption here: ==11968==ERROR: AddressSanitizer: heap-use-after-free on address 0x60f0000734e0 at pc 0x7f473822d2ee bp 0x7fffdadd3660 sp 0x7fffdadd3658 READ of size 8 at 0x60f0000734e0 thread T0 #0 0x7f473822d2ed in rtl::Reference<FmXFormShell>::operator->() const /include/rtl/ref.hxx:216:9 #1 0x7f473821feeb in FmFormShell::IsActiveControl() const /svx/source/form/fmshell.cxx:1227:12 #2 0x7f46dad4d52a in SwView::SelectShell() /sw/source/uibase/uiview/view.cxx:296:40 #3 0x7f46dad496a6 in SwView::AttrChangedNotify(LinkParamNone*) /sw/source/uibase/uiview/view.cxx:572:13 ... #32 0x7f4748944cda in SfxViewFrame::SwitchToViewShell_Impl(unsigned short, bool) /sfx2/source/view/viewfrm.cxx:2552:32 #33 0x7f47488f4e3b in SfxViewFrame::ExecView_Impl(SfxRequest&) /sfx2/source/view/viewfrm.cxx:2637:29 freed by thread T0 here: #0 0x5568ff2f9a7b in operator delete(void*, unsigned long) /home/abuild/rpmbuild/BUILD/llvm-15.0.7.src/build/../projects/compiler-rt/lib/asan/asan_new_delete.cpp:164:3 #1 0x7f4738214346 in FmFormShell::~FmFormShell() /svx/source/form/fmshell.cxx:181:1 #2 0x7f4746b04b9d in SfxDispatcher::FlushImpl() /sfx2/source/control/dispatch.cxx:1412:13 #3 0x7f4746aff767 in SfxDispatcher::Flush() /sfx2/source/control/dispatch.cxx:157:26 #4 0x7f47489100dc in SfxViewFrame::PopShellAndSubShells_Impl(SfxViewShell&) /sfx2/source/view/viewfrm.cxx:1100:24 #5 0x7f47489441a3 in SfxViewFrame::SwitchToViewShell_Impl(unsigned short, bool) /sfx2/source/view/viewfrm.cxx:2538:13 #6 0x7f47488f4e3b in SfxViewFrame::ExecView_Impl(SfxRequest&) /sfx2/source/view/viewfrm.cxx:2637:29 I.e. a new SwPagePreview replaces the old SwView, but the order is that SfxViewFrame::SwitchToViewShell_Impl() starts with deleting the SfxShells of the old SwView in PopShellAndSubShells_Impl(), then it creates the new shell, finally deletes the old shell. Given that the new shell hides hidden characters and the old shell did not, this triggers a size notification for the half-deleted old shell and we crash. Seeing that SwView::AttrChangedNotify() already had code to delay the selection of an SfxShell in the old SwView, fix the problem by introducing a new flag that allows not selecting an SfxShell at all if the old view is known to be deleted in the near future anyway. An alternative would be to make sure that all relevant pointers are maintained using an SfxBroadcaster / SfxListener protocol, but after fixing some 4 of them and that's still not enough, probably it's better to handle this at a higher level. It's also a bit unclear how this "worked" in the past; looks like the old view didn't get the size change notification by accident. Change-Id: I423ff946f8235848cc3a870bc52fcf88a721fd2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160925 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-12-18unique_ptr->optional in SwDoc::ExecMacroNoel Grandin
Change-Id: I343e6ce50dcc6aac2182c11e5ca093f22c58c418 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160914 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>