summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)AuthorFilesLines
2021-09-21tdf#143591 DOCX import: handle anchored objects as at-charMiklos Vajna2-8/+7
This partially reverts cc8f8ae55f681755f5da3bf64e4c30bb713f0383 (DOCX drawingML shape import: wp:anchor's behindDoc attribute, 2013-11-19), it seems to be more important to be consistent with the DOC import than with the VML import which is no longer used for DOCX shapes crated with Word >= 2010. Change-Id: I631da010bce1b4d3c392645e0ae3797a03665a42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122367 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 7246e57216bb20c15af0ecf6a0183f5ffa81e780) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122287 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-09-21tdf143726 DOCX: export default TOC Header style with correct nameGabor Kelemen3-1/+10
This seems to have been a typo since it was mapped to the default name of the Table of Authorities index's heading in Word which is not really supported anyways. Change-Id: I4cadce18c30c5497f27479fcc251fdf85d859145 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120091 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 5440492ff9f949ee9ed9052e8bab6f5136d78b2a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122278 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-09-21Revert "tdf#99492 sw layout: always paint merged cell grids"Justin Luth1-0/+4
This reverts LO 7.1 commit c016fe2b5918d6e53113e100b1126076b6e1a6a3. This failed for two reasons. 1.) If it is not a solid color (like a graphic for example) then the graphic is going to be repeated in each cell. 2.) This is NOT actually repainting the visible cell's background. It is painting the hidden cell - which MIGHT be different from the visible cell (in the case of a solid color). Since this will require a completely different approach, I am just reverting this. Thanks Mike for finding an example document that shows the flaws. Change-Id: Icdc21e09118e7c33ac9f7ede23c913b95ad69c93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122366 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit eb830ad284f245165b6ab5e8647d48834622f2d5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122281
2021-09-21Resolves: tdf#144620 toolbar config item overwrites options dialog oneCaolán McNamara1-0/+1
There are two SwMailMergeConfigItem involved. One SwMailMergeConfigItem from the toolbar created and considered modified and with changes not commited to the config yet. Then the other SwMailMergeConfigItem is created by the options dialog and commited on ok, but after that commit at cui/source/options/treeopt.cxx at line 723 there is a utl::ConfigManager::storeConfigItems() to flush all outstanding config items, so the one belonging to the toolbar is now flushed after the options dialog one was written. The SwMailMergeConfigItem has a IsModified() of true right after ctor which doesn't seem intentional, there is no explicit set of Modified to true on setting the simple bool members, the Modified bit is toggled on when using the more complicated modifier methods during ctor so very much looks like an accidental side effect. Change-Id: If84a6f01c7bf92704dd1e175a2bd8e2ea59e157f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122280 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-09-20tdf#143813 Outline folding: Make copy cut paste workJim Raykowski1-2/+12
Change-Id: Ib8b491fdcce1cd059c8eaf80a9c3bb2590af7c63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122212 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit f4f646eec90c44b6a7ffeaf5f6ce4c85af64eed0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122276 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-09-17tdf#144427 tdf#144483 sw mailmerge: fix merge all documentBalazs Varga3-22/+39
Not all records were merged if we selected the “From 'X' To 'Y' of the “Save Merged Documents” or “Print Merged Documents” or "Send to Email" dialog windows and write some value into them and then we switched back on to Save/Print/Send All record (opened via the Mail merge toolbar). Regression from commit: ec44f87d5b99a3299322d0b79abc4c6808877865 (tdf#117212 sw mailmerge: merge only the selected range) (cherry picked from commit f3993912ec4b526aa57cb4bfb4745d7298a4da82) tdf#144483 sw mail merge: save ranges in a single document In the Save mail merged document dialog, it wasn't possible to save mail ranges in a single document, because of the bad UI of the dialog window: grouping range selector as a radio button with the single document/individual documents radio buttons. Moreover, commit f3993912ec4b526aa57cb4bfb4745d7298a4da82 "tdf#144427 sw mailmerge: fix merge all document" removed the hidden workaround: setting range at the third radio button, and selecting the first radio button. Using checkbox for the third option solved the problem as proposed. (cherry picked from commit 45c4caff685b15a0f1b87ef05436a7e6aca96851) Fix broken ui file ...after 45c4caff685b15a0f1b87ef05436a7e6aca96851 "tdf#144483 sw mail merge: save ranges in a single document", causing CppunitTest_sw_dialogs_test to fail with > warn:vcl.gtk:2759211:2759211:vcl/unx/gtk3/gtkinst.cxx:21611: GtkInstanceBuilder: error when calling gtk_builder_add_from_file: ~/lo/core/instdir/share/config/soffice.cfg/modules/swriter/ui/mmresultsavedialog.ui:165:49 Invalid property: GtkCheckButton.group (cherry picked from commit 7b37af5af6afe75ad952538c145a4f4e61de9a96) Change-Id: I01fc664fe76f74cefe4faa81b324088ec37b9881 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121982 Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-by: Balazs Varga <varga.balazs3@nisz.hu> Tested-by: Jenkins
2021-09-16CppunitTest_sw_core_text needs some more RTTI now in UBSan buildsStephan Bergmann2-2/+2
...presumably since 0c3e47cc2f0570a7cd8ff4889763991a86b29f26 "tdf#144305 sw: fix rendering of ruby portions with non-default ruby alignment", > DynamicLibraryManagerException: "Failed to load dynamic library: ~/lo/core/workdir/LinkTarget/CppunitTest/libtest_sw_core_text.so > ~/lo/core/workdir/LinkTarget/CppunitTest/libtest_sw_core_text.so: undefined symbol: _ZTI13SwLinePortion" and > DynamicLibraryManagerException: "Failed to load dynamic library: ~/lo/core/workdir/LinkTarget/CppunitTest/libtest_sw_core_text.so > ~/lo/core/workdir/LinkTarget/CppunitTest/libtest_sw_core_text.so: undefined symbol: _ZTI14SwMultiPortion" Change-Id: Iaebffc3c9c0245d6092ef1dfc58213fd2d38d303 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122143 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 485add3cd6240a0faceb7a74784d44b1c0a6705e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122117 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-09-14tdf#144305 sw: fix rendering of ruby portions with non-default ruby alignmentMiklos Vajna5-2/+74
Regression from 301278b656e76b6f42af5cf8a6f5c6c02acfffeb (sw: allow the height of a line to be larger than 65536 twips, 2021-05-20), the problem was that changing from sal_uInt16 to sal_uInt32 broke SwRubyPortion::Adjust_(), which relied on integer promotion rules to have a negative diff. Old storage size was smaller than int, so got promoted to signed int, so the result could be a small negative number. New storage size is an unsigned int, so no promotion happens, so the new result was a large positive number. Fix this by casting to signed int explicitly. Change-Id: I8778c1bd0d62e27c99d4ceb1bb7bc6107a179803 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122048 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 0c3e47cc2f0570a7cd8ff4889763991a86b29f26) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122066 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-09-14tdf#123642: keep last bookmark at the document endVasily Melenchuk7-5/+26
In some cases DomainMapper_Impl::RemoveLastParagraph() can also remove last bookmark from real last paragraph. This does never happens when we use xParagraph->dispose(), but pretty always during older way with xCursor->setString(OUString()). Unfortunately without deep refactoring of redlines, bookmarks, etc. I see no other way to avoid this removal except given hack which is trying to store last bookmark and if it did disappear restore it. Some existing unittests were adjusted: corresponding original DOCX files did contain final bookmarks not taken into account by the code. In some cases test code is modified, in some just removed final bookmark in DOCX: such multi-format tests as in ooxmlfieldexport.cxx will be more identical to RTF & DOC variants. Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport17.cxx Change-Id: Ie9948b58cda705a0b85fa8e5e08b72fbb7d682b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121409 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122015
2021-09-13tdf#144352 Revert "Fix widget placement problem on mailmerge result dialog."Gabor Kelemen1-1/+0
This reverts commit 0a3e5ba4db254549c15e55984f1764a352c8239b. Reason for revert: Causes the dialogs bottom part to slip on top each other, most visibly on Windows Change-Id: I6e5a30fbb4611a7b1250b173adccdb47c95eea02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121879 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit c10c32438025edda2f3c178b47d369e7979f25a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121988 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-09-13tdf#144425 Set sane lower bounds (1) for MM e-mail output rangesGabor Kelemen1-0/+2
Lower bounds were forgotten to be set in weld commit f1ca64800074530d95e507f93c764a687310b9eb for the new GtkAdjustments of the GtkSpinButtons This caused no visible differences until commit d9fa826769cd570814f3556d53493a78d2869873 when new default values (0) were added for VCL FormattedFields This made it possible to email MM results on non-GTK vclpugs starting from 0th mail if custom range is chosen, which causes an instant hang in the sending process since there is no -1st generated result. The default Send all option has still worked after this. Then commit ec44f87d5b99a3299322d0b79abc4c6808877865 started to use the default GtkSpinButton values for default range of result generation, breaking the Send all option as well. Change-Id: I2a9f2b0954045700f947f342e5928ef75ce23aed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121865 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> (cherry picked from commit e85aaaecb5479660aa0cf600564ee3caa470aa3d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121877 Tested-by: Jenkins
2021-09-11Resolves: tdf#143777 Exclude recipient is always greyed outCaolán McNamara1-1/+1
Change-Id: I6ce94fad6ba518457665ae6d6b473cfe6f80849f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121882 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-09-10tdf#126426: support for hyperlinks in TextParagraphContextVasily Melenchuk2-0/+38
Usually hyperlinks are processed by TextBodyContext, but for grouped shape we accidentaly gone into TextParagraphContext It has almost all possibilities to process txbxContent, but not hyperlinks. Additionally some hyperlink char attributes (color and underline) can expand to follow up ordinal text. Additional small hack applied to avoid this. Unfortunately this is not a final solution: such document fails roundtrip and hyperlinks are lost after saving to DOCX. Conflicts: oox/source/drawingml/textbodycontext.cxx Change-Id: Ie954f53696bd872cb1f59cb586fb55f6cd7c73bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121172 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121904
2021-09-06tdf#143384 DOCX import: fix SAXException at header with tableAttila Szűcs7-17/+74
Regression from commit d656191ec308d4280b93c7169372e543a255d108 "tdf#119952 DOCX import: fix negative page margins". Add SwXHeadFootText::CreateTextCursor(bool bIgnoreTables = false) (modeled after SwXBodyText::CreateTextCursor) to create text cursor for copying the header/footer also started with table during fly frame creation in convertoToTextFrame(). Note: add hidden property PROP_CURSOR_NOT_IGNORE_TABLES_IN_HF to use the new feature in domainmapper (followed commit af4e5ee0f93c1ff442d08caed5c875f2b2c1fd43 "tdf#97128 DOCX import: fix frame direction"). Co-authored-by: Tibor Nagy (NISZ) Change-Id: I96e2cf2dddcecd146c53c12d7fdb44fc4d90fa0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119549 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit c1ad429d925855c1baacbdeca1ef42f4486eb9c2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120985 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-09-02ofz: MemorySanitizer: use-of-uninitialized-valueCaolán McNamara2-1/+1
surely a lookup of i equal to rTable.size() is bogus ==75288== Conditional jump or move depends on uninitialised value(s) ==75288== at 0x1EC68C45: DelFlyInRange(SwNodeIndex const&, SwNodeIndex const&, SwIndex const*, SwIndex const*) (docedt.cxx:246) ==75288== by 0x1EDE68D4: sw::DocumentContentOperationsManager::DeleteSection(SwNode*) (DocumentContentOperationsManager.cxx:2096) ==75288== by 0x1FC27F2C: SwHTMLParser::DeleteSection(SwStartNode*) (htmltab.cxx:4945) ==75288== by 0x1FC231EF: SwHTMLParser::BuildTable(SvxAdjust, bool, bool, bool) (htmltab.cxx:5219) ==75288== by 0x1FC24B7B: SwHTMLParser::BuildTableCaption(HTMLTable*) (htmltab.cxx:4589) ==75288== by 0x1FC23E34: SwHTMLParser::BuildTableRow(HTMLTable*, bool, SvxAdjust, short) (htmltab.cxx:4020) ==75288== by 0x1FC25B38: SwHTMLParser::BuildTableSection(HTMLTable*, bool, bool) (htmltab.cxx:4189) ==75288== by 0x1FC2237F: SwHTMLParser::BuildTable(SvxAdjust, bool, bool, bool) (htmltab.cxx:5055) ==75288== by 0x1FC24B7B: SwHTMLParser::BuildTableCaption(HTMLTable*) (htmltab.cxx:4589) ==75288== by 0x1FC23E34: SwHTMLParser::BuildTableRow(HTMLTable*, bool, SvxAdjust, short) (htmltab.cxx:4020) ==75288== by 0x1FC25B38: SwHTMLParser::BuildTableSection(HTMLTable*, bool, bool) (htmltab.cxx:4189) ==75288== by 0x1FC2237F: SwHTMLParser::BuildTable(SvxAdjust, bool, bool, bool) (htmltab.cxx:5055) ==75288== by 0x1FC24B7B: SwHTMLParser::BuildTableCaption(HTMLTable*) (htmltab.cxx:4589) ==75288== by 0x1FC23E34: SwHTMLParser::BuildTableRow(HTMLTable*, bool, SvxAdjust, short) (htmltab.cxx:4020) ==75288== by 0x1FC25B38: SwHTMLParser::BuildTableSection(HTMLTable*, bool, bool) (htmltab.cxx:4189) ==75288== by 0x1FC2237F: SwHTMLParser::BuildTable(SvxAdjust, bool, bool, bool) (htmltab.cxx:5055) ==75288== by 0x1FC24B7B: SwHTMLParser::BuildTableCaption(HTMLTable*) (htmltab.cxx:4589) ==75288== by 0x1FC23E34: SwHTMLParser::BuildTableRow(HTMLTable*, bool, SvxAdjust, short) (htmltab.cxx:4020) ==75288== by 0x1FC25BC5: SwHTMLParser::BuildTableSection(HTMLTable*, bool, bool) (htmltab.cxx:4194) ==75288== by 0x1FC2237F: SwHTMLParser::BuildTable(SvxAdjust, bool, bool, bool) (htmltab.cxx:5055) ==75288== by 0x1FC79B2C: SwHTMLParser::NextToken(HtmlTokenId) (swhtml.cxx:1787) ==75288== by 0x22060E6A: HTMLParser::Continue(HtmlTokenId) (parhtml.cxx:295) ==75288== by 0x1FC745AC: SwHTMLParser::Continue(HtmlTokenId) (swhtml.cxx:683) ==75288== by 0x22060CF5: HTMLParser::CallParser() (parhtml.cxx:279) ==75288== by 0x1FC73F7F: SwHTMLParser::CallParser() (swhtml.cxx:607) ==75288== by 0x1FC6FF90: HTMLReader::Read(SwDoc&, rtl::OUString const&, SwPaM&, rtl::OUString const&) (swhtml.cxx:238) Change-Id: I9583e5be41fe76f19c699394961ed2717a990cc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121351 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 6b851810d43e4a9ea8119d97436f658593ff8f1b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121416 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-31tdf#125743 sw: fix rendering of graphics bullet with linked imagesMiklos Vajna4-0/+29
Regression from commit d72145f9307c732ced4a546ac1e5093ec7c1a982 (Move BackGraphicURL property & friends to BackGraphic + fixes, 2018-03-01), the problem was that now SvXMLImport::loadGraphicByURL() produces a Graphic that has its type set to GraphicType::Default, but when paintGraphicUsingPrimitivesHelper() consumes this graphic, it expects that the type is either a bitmap or a metafile. Fix the problem by explicitly loading the image when the default-type, origin-url-set case happens: this is rendering, so no problem to load the URL and that will give us the expected graphic type. This is also meant to keep the original problem fixed, since we only load images when painting, not during import. Change-Id: I951bc92d05bb8ec57d2ba6958c47947f8f9b5c78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121082 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121094
2021-08-31tdf#103612 sw: fix confusing inheritance of section hidden flagMichael Stahl6-10/+33
SwSectionData has 3 confusing boolean members for hiding: * m_bHidden corresponds to the Hide checkbox in the UI * m_bCondHiddenFlag stores the result of evaluating the hide condition * m_bHiddenFlag is the final computed result that indicates that this section is hidden Now, the first 2 flags determine m_bHiddenFlag = true, but there's another possibility: m_bHiddenFlag is also true if there is a parent section for which m_bHiddenFlag is true (because of course this hides all section content including nested sections)... the latter situation is apparently handled in SwSectionFormat::UpdateParent(). The code in SwSection::SwSection() checks the parent's m_bHiddenFlag but then sets the child's m_bHidden, which looks very wrong, so remove this. Also adapt 2 other places that look like they should be checking a different flag. Change-Id: I58d9c878b58ad6cd878f450072178006b4c7ebb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121314 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 91b0024965908c692bea40f47c58ea9d1bf8a596) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121283 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-31tdf#128106 sw: copy bookmarks at start if whole node is copiedMichael Stahl2-4/+17
The CrossRefHeadingBookmarks are always at index 0 so copy them if the selection also starts at index 0. This happens in SwDoc::SplitDoc() for the 2nd etc. chapter. Change-Id: I4765d497e65d3c8257f7eab59b8ba2088688967e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121147 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 4bf04dea9afb30a9395e80b07a81d1908937ee8b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121152 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-08-31tdf#128106 sw: copy bookmarks in SwDoc::SplitDoc()Michael Stahl3-7/+75
Change-Id: Id35b8771b456b162ca653423d02788275a79443f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121146 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 3608de9a3647294361c64b923b1ae413ad9755df) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121071 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-08-31tdf#144105 crash after closing edit address block dialogCaolán McNamara1-0/+1
use RemoveView to call RemoveDragAndDropListeners before shutdown to avoid RemoveDragAndDropListeners getting called during dtor and calling EditViewCallbacks::GetDropTarget on the destroyed host widget controller Change-Id: I63841b893d37d45cc44a0ffbaa534cf87c407615 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121277 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-08-26tdf#144089: Revert "tdf#137737 i18n search: don't expand start/end with ↵Xisco Fauli2-32/+0
regex ^ or $" This reverts commit a511bffd67a9cebfdc878766581ac08c79d7ff51. Reason for revert: See https://gerrit.libreoffice.org/c/core/+/120981 Change-Id: If8a445448976a9963f76623d3d968b8d5e3d74dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120990 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121048 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org>
2021-08-25tdf#127978 - Don't URL encode filename for navigator's tooltip (D&D)Andreas Heinisch1-1/+3
Change-Id: I3a5d6404755698be81818c4636fcc505992e1a05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120936 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> (cherry picked from commit a558be2393cf05a4ccf8b4af546207e69669eba2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120982 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-25Resolves tdf#143633 - Image size wrong after disabling relative image widthHeiko Tietze1-0/+28
Adjustments added back, missing from 3cbecf3d0d9d68de286589e153ee31f8f709be03 Change-Id: Ia2f64fbf0792bd0916052c01e79b37d8820f8b0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120940 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> (cherry picked from commit dd5039ceea319ebfc72a3e032753b22538add12e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120983 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-25tdf#135164 add unit testJustin Luth4-0/+62
fixed by tdf#143605, but that was a bit different, so adding a specific docx unit test. Change-Id: I9f5a6b225277f1c1fdbfed7759919b3fd6e5dea5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121010 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-25tdf#137737 i18n search: don't expand start/end with regex ^ or $Justin Luth2-0/+32
If the regex starts with ^, that means that it matches only at the beginning of the content. So don't expand the beginning of the content or else it won't match anymore. Similarly, $ indicates matching at the end of the content. For the unit test I just randomly guessed at SearchItem.AlgorithmType, and it kinda worked. I love black boxes... I hope I remember what i learned about TransformParameters() which was parsed in sfx2/source/appl/appuno.cxx, splitting the "variable" into Item.PropName = PropValue. That is definite black magic. Change-Id: Ie1640821a7a430e78dbe72c57a92aeaa9b5272a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120410 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit a511bffd67a9cebfdc878766581ac08c79d7ff51) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120981 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-24rhbz#1996735 SwEditShell::GetCorrection can return nullCaolán McNamara1-1/+3
Though the exact steps to reproduce are unknown. From the text seen in the backtrace the language is possibly Finnish in which case voikko is probably the spellchecking backend in use. Change-Id: I9b3186e4699946235ccc161575bba7d4a3820565 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120878 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-19tdf#134569 writerfilter: move tableParaProps on table endLevelJustin Luth2-0/+6
The end-level of a table only comes at the ::finishParagraph of the FOLLOWING paragraph. So for table-in-table, it is necessary to move the paragraph properties captured during the paragraph to the correct table level's collection. This fixes 7.0 regression from commit 81ce88aa80f8e7cde4fdc5b211e9500a3599643c and depends on prior commit related tdf#134569 writerfilter: negative means table end Change-Id: I83183f38e1cf68b7db09813ca1b4a2491e7b54e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120526 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 28a7fec1f6465f8bfee417d447eb2e684ffe040b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120587 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-17Resolves: tdf#142003 tracked changes in footnotes offset in .doc importCaolán McNamara3-6/+1
Reverts: commit e71d05eaa9a8c9e628b256f3e889b85ac11ed474 Author: Caolán McNamara <caolanm@redhat.com> Date: Fri Apr 27 15:42:26 2018 +0100 ofz#8038 defer subdocument redlining to end of parse like main document Change-Id: Ie8d7a98c7927dcba53228ebcd991d715d8faabe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120563 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b5870d727685ec10447e8ae446ada895250fec2e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120580 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-17tdf#143778 these async callbacks expect to have SdrModel::IsChanged of falseCaolán McNamara2-3/+8
when they are entered. They are adapted from the original non-async SwDrawShell::ExecDrawDlg where the start of SwDrawShell::ExecDrawDlg has... bool bChanged = pDoc->IsChanged(); pDoc->SetChanged(false); and the end has if (pDoc->IsChanged()) GetShell().SetModified(); else if (bChanged) pDoc->SetChanged(); and before async dialogs the start and end happened before and after the dialog appeared and disappeared. The intent seems to be unset the sdrmodel-changed and restore its original state if the dialogs caused nothing to happen and to explicitly set SetModified on the document if something did. Now the async dialogs callback happens after SwDrawShell::ExecDrawDlg has ended and so the callbacks start with SdrModel::IsChanged at its original value (restored by the end of ExecDrawDlg), not the "false" they were originally written to expect. For simplicity set the SdrModel IsChanged to false at the start of the callbacks and continue to restore to the passed in bChanged state if there was no changes by the callback. Change-Id: I671b35acab6d1b391fa7e6590c09f8be135449b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120548 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit c64f221fc2e22ffa60c4d78240893f7f04531b3e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120575 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-17tdf#143860 non-primitive needs custGeom not prstGeomRegina Henschel2-0/+11
Error was, that for a custom shape with type 'non-primitive' method DMLPresetShapeExporter::WriteShape() was called. For such shapes the method GetOOXMLPresetGeometry() returns preset type 'rect' and in case the shape had no handles, that preset geometry was written. In my solution I exclude shapes of type 'non-primitive' from using DMLPresetShapeExporter, because such shapes never belong to a OOXML preset shape. Change-Id: I714f69c98fe15c2b7e70dc0a474a7f85ad757034 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120511 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120547
2021-08-14tdf#139811 trigger layout when content changesCaolán McNamara1-0/+5
in writer styles panel of page deck which is similar to the draw case of tdf#143795. Doing this always in PanelLayout::queue_resize might make the most sense rather than these manual triggers, but do it this way initially for a safe backport. Change-Id: I4bd2e9cb9d52b66a73cd0615406052e19e6e8b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120368 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-13Resolves: tdf#132739 two style tags where there should be just oneCaolán McNamara3-5/+10
Change-Id: Id9c8c8cc8c5ffdd21ba79ff39a6279cf2ddc8025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120359 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-13tdf#129270: sw: do not copy list level on paragraph cutVasily Melenchuk3-1/+35
Current list level (RES_PARATR_LIST_LEVEL) is initialized before, but current value can overwrite it with invalid in given context. So we could have mismatch of outline style (which are not overwritten) and actual list level. Change-Id: Ibf34a6f35b922493c4a1477326ea6c1599b4938f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120212 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit a72f2dcf73df9b9f4420cc93aa57a77c165a0fcb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120358
2021-08-12tdf#143244 sw: fix redo of adding table rows breaks table styleBalazs Santha3-1/+51
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> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119408
2021-08-12sw: test fix of tdf#131771Balazs Santha1-0/+46
Change-Id: I9879f13e842dd7288c996c1097130e7e7b28589c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118432 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120375
2021-08-12tdf#143318 DOCX import: fix missing redlines in flying tablesLászló Németh2-0/+29
makeRedline() exceptions (in the case of already existing redlines) skip the creation of the next (not existing yet) redlines in tables inside fly frames. Here: a tracked table moving revealed the problem, with the missing rejection of the new position, i.e. the "new" (second) table of the document. Note: fix also collecting redlines within tables: IsInTable() isn't true in the first cell of the table, losing the redline here, so it's replaced with m_nTableDepth > 0. Follow-up to commit 7f3c0bbc174b9b0316991c174ca3b407c0e3d141 "tdf#143510 DOCX import: fix tracked table drag & drop". Change-Id: Icf6dd62eb950e5af6a75353dffabb9e9433c1b44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120333 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit afc0c718ec9ca6a4fbe1324f68eb292d9a67b058) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120356
2021-08-12sw: use followby parameter of outline in Chapter fieldVasily Melenchuk5-33/+46
When Chapter field with format "Chapter number and name" is used it does not insert any delimiter between number and name. Best is to use outline/list property LabelFollowBy. But since it is done inside field we are limited with supported characters, so practically only space and nothing are correctly supported. Tab and newline are replaced by space. Change-Id: I4583b7051ae5ad963132980443fa70b5a19354e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119428 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit b67b3e2be0c80c3667ad2cb633e7e932d51d63a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120355
2021-08-12tdf#131771 sw: fix missing table style after copying and pasting the tableBalazs Santha6-6/+8
This fixes the loss of table style setting when copying and then pasting a table. Change-Id: Ie678a269b4cdcddfd73a5d6a27ef9fcb55dcaa46 Change-Id: I48208337ee14fde30417fa3999f56999cc5eda19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118336 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120373 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-11tdf#143583 DOCX import: fix lost empty paragraphs of footnotesLászló Németh2-0/+13
Last empty paragraphs of footnotes were removed (except in the case of the first footnote), related to the double call of RemoveLastParagraph() during footnote load and later during its copying. Regression from commit 9b39ce0e66acfe812e1d50e530dc2ccdef3e1357 "tdf#76260 DOCX import: fix slow footnote import". Change-Id: I61d9aa6765f3af1893451684dde12c199251d06b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120270 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120334 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-11tdf#143577 check node is a text node before use as suchJim Raykowski1-23/+26
Change-Id: I337c94aa90ed906c5b744171728022ba5f9c64b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120191 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit 0ff5eb97b89f89e770d4397bf76f24fb7cd76b57) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120250 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-08-09tdf#65535 sw spell: ignore comment marker when checking spellingJustin Luth1-2/+17
A comment in the middle of the word should not render it as a misspelling. So strip it out when checking - like hidden or redlines. One existing problem is that if the word is STILL misspelled, then replacing it will remove the in-word comment. That was true before this patch, so it is just another deirable enhancement to try to avoid that. Change-Id: Ic69385d5bbeca2d17b1969211c118d4d38e6a22f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118972 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit a6555eb809e2580562cd431085e35a23b7d47f9a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119856
2021-08-09tdf#143605: sw: numbering rule is not constructed for numbering type "None"Vasily Melenchuk3-84/+90
Previously during refactoring this condition was lost. And it is possible practically that we have all format for numbering (prefix, suffix, format string, etc) but numbering is disabled. Change-Id: I0c8ab446753308ad80b8d133824a936dacf6cc82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120082 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit d1f1f546b212ecd651146addeb328806bb270d5f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120137 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-09sw: fix assert fail with ShowRedlineChanges=false and para formatMiklos Vajna5-1/+152
It fails like this: loolforkit: sw/source/core/layout/wsfrm.cxx:4551: void UnHide(SwRootFrame&): Assertion `rLayout.GetCurrShell()->ActionPend()' failed. #4 0x00007f98e9f8c198 in UnHide(SwRootFrame&) (rLayout=...) at sw/source/core/layout/wsfrm.cxx:4551 #5 0x00007f98e9f8c839 in SwRootFrame::SetHideRedlines(bool) (this=0x7f98c40f7bd0, bHideRedlines=false) at sw/source/core/layout/wsfrm.cxx:4664 #6 0x00007f98e9b18afd in sw::DocumentRedlineManager::SetRedlineFlags(RedlineFlags) (this=0x80a4120, eMode=49) at sw/source/core/doc/DocumentRedlineManager.cxx:1097 #7 0x00007f98e9cfa503 in SwEditShell::SetAttrSet(SfxItemSet const&, SetAttrMode, SwPaM*, bool) (this=0x8885840, rSet= SfxItemSet of pool 0x808fd10 with parent 0x0 and Which ranges: [(63, 64), (120, 120)] = {...}, nFlags=SetAttrMode::DEFAULT, pPaM=0x0, bParagraphSetting=true) at sw/source/core/edit/edatmisc.cxx:187 #8 0x00007f98ea995f07 in SwTextShell::ExecParaAttr(SfxRequest&) (this=0x8bd0820, rReq=...) at sw/source/uibase/shells/txtattr.cxx:451 Fix it the same way commit dd489bc01adc22fc5015ea56b61d66104af184a8 (tdf#125754 sw_redlinehide: avoid recursive layout in SetHideRedlines(), 2019-06-19) did: make sure that SetHideRedlines() is called before EndAllAction(). (cherry picked from commit 39392ee94c78692a9179f7face15af0c9e74e492) Change-Id: I6304abec2e2e2967a8369b0219492bebcd606d03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120139 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-09Revert "tdf#104254 sw DOCX import: fix text wrapping in headers"Justin Luth8-37/+13
This reverts 7.2 commit 798b69087119c01a3b51e0bb3240ef35cfededeb. The change affected not only DOCX compatibilityMode 15, but also DOC and ODT and older versions of DOCX and everything else which should not have been affected. This reverted change of course affected layout. Some bug documents didn't loop after this layout breakage. That doesn't mean that those bugs were fixed. So just revert the tests: Revert "tdf#96840: sw_ww8export3: Add unittest" This reverts commit 975488594fc88aaba7298448e0ff727ebca7fe85. Revert "tdf#64997: sw_ww8export3: Add unittest" This reverts commit 02af9b8ef1f87bb6bc5fee22ad184681b20f201a. Change-Id: I54f7b801199bba45d8ca6f82f77e7060c7b3fcf7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119887 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit d03aaef3dcb5d142955457ae9b8ca4469cfafa38) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119973 Tested-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-08tdf#99932: sw: fix for invalid anchor location for FLY_AT_CHAR modeVasily Melenchuk1-0/+5
In such case anchor position depends on LastCharRect which can be invalid because of happened frame movement, resize, etc. Change-Id: I3d3c6318ee1ce5f4043e21ab091417d283c4260c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120059 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 6e879d5f142766c941d1c3bafd17f67b78c1c9f4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119990
2021-08-08tdf#143499 don't search entire tree looking for insertion pointCaolán McNamara1-34/+26
keep a short insertion candidate vector up to date as the tree is populated for gen takes time from ~310ms to ~45ms Change-Id: I70e6c0243771cef39e54f4d039069cf54aa6d41c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119995 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-08tdf#143626 "protect" always shown checked for sections linked to fileCaolán McNamara1-1/+0
Change-Id: I8a403a25ae5c5e3b6183ba559b0224f2886eb925 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119861 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-07Resolves: tdf#143720 treeview not resizing to fill available spaceCaolán McNamara2-2/+4
Change-Id: I041c3a743b8624f49bfe57e8a4469535e334e5dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119987 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-07-28Revert "tdf#58521 DOCX import: enable ContinuousEndnotes compat flag"Gabor Kelemen3-17/+1
This reverts commit e35fc16969c0d0a55538733d76fc4bb03bf137b0. Reason for revert: tdf#143456 shows there are layout problems with this compatibility option Change-Id: I4f03b9a0cbc6de1d3dbf79681f7caa203a1ce59c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119451 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-07-28tdf#139426 Supress AssertFlyPages in Tabe re-layoutArmin Le Grand (Allotropia)4-1/+13
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> (cherry picked from commit 0bac5c7e7d71658c5056c4bf0b71fbfb51b92ca0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119266 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>