summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)Author
2018-10-20sw mso export: PROTECT_FORM shouldn't force section to protectedJustin Luth
PROTECT_FORM maps to enforcement = true, not "everything is protected". "The enforcement of this property is determined by the documentProtection element (§17.15.1.29), as it is possible to specify protection without turning it on." So, sections should retain their protected on/off status regardless of the value of PROTECT_FORM. My guess was that this was to offset the fact that DOCX import did not import protected status, so this helped to protect the sections that should not be unprotected. A followup patch will address the import side. patch initially developed to support tdf#120499. Change-Id: I8ff6d31711651a4827cbb8520fd68e88273d6799 Reviewed-on: https://gerrit.libreoffice.org/61905 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit fa667b6dc410f3af57ef436cc117352c829f95e7)
2018-10-20NFC ww8 cleanup: remove unused variables, simplify, whitespaceJustin Luth
Change-Id: Ib4f100d4019643cde893ef1d8643a5c08b55ff8f Reviewed-on: https://gerrit.libreoffice.org/61951 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 2ec0cf500222aef55d02df80154b47fbb92970c9)
2018-10-20ww8import: always protect document if setJustin Luth
Just because some sections are unprotected doesn't mean that the document should not open in forms mode. MSWord 2016 opens it in "forms view" mode which also doesn't allow editing those unrestricted settings. Only when choosing the "Edit Document" view are the unprotected sections editable - similar to LO turning off the Compatibility: Protect Forms flag. Unfortunately, the "I want to address this" comment was from 2011, so obviously his temporarly solution became more permanent that expected. If this patch now blocks someone from being able to edit a document (because now only the forms components of the document are editable) they can remove the forms protection by going to tools - options - LibreOffice Writer - compatability - and disable Protect Form. patch developed to support tdf#120499 and depends on the patch for tdf#37778. Change-Id: I86e26095ade6b2cf0ab8ea8fc941a92fa672a2f7 Reviewed-on: https://gerrit.libreoffice.org/61901 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 3e2e49074a59abbc9733e0c6e6914f902dd81664)
2018-10-20tdf#37778 ww8import: protect section only if protEnabledJustin Luth
Protection is not related to fReadOnlyRecommended In Word, documentProtection enforcement is a document level setting which is required for the section protection setting to be enforced. formprot: "The enforcement of this property is determined by the documentProtection element (§17.15.1.29), as it is possible to specify protection without turning it on." In LO, section protection is honored if it is simply enabled, so only enable a section's protection if the enforcement variable is set. Round-tripping will lose the fact that sections are marked as protected if the enforcement is off. patch initially developed to support tdf#120499 where the focus is on sections, not on read-only and the fake section that was being created. Change-Id: I08c37ea6a9cc8fd1bdf7f36771b2d719bf9c93d6 Reviewed-on: https://gerrit.libreoffice.org/61899 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 8ba20167034f38ea2984bc8fb0e785da107cb82b)
2018-10-20tdf#112520 RTF export: write ZOrder only for toplevel shapesMiklos Vajna
RTF export at the moment exports children of group shapes as a flat shape list. This means that the order inside the group shape is not relevant for the toplevel ZOrder, so just don't write it. (cherry picked from commit 2b920bdc12f3bf3a196ec0d6d59043a68e663e33) Reviewed-on: https://gerrit.libreoffice.org/61904 Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 1c6bea8e677861d201e9b21b5f0e356f77dabaaf) Change-Id: I870707cb28c2f177c0e5d9cf5328260e76b661f3
2018-10-20sw: fix invalid cast in SwEditWin::RequestHelp()Michael Stahl
This results in a garbage OUString. Change-Id: I03b8030a812d7016df5c29f1341749fbdedf1729 Reviewed-on: https://gerrit.libreoffice.org/61652 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit bf0276f0b53c01ac434fef88e97f6b0dd4c41787) Reviewed-on: https://gerrit.libreoffice.org/61674 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 2c93c692bcea531b1a02b3d200a44f3c4584455a)
2018-10-13tdf120224 docx export: don't double up field bookmarksJustin Luth
fields are internal bookmarks. When the exporter runs through the bookmarks, it will already write out a bookmark entry, so don't output a separate one for the fieldmark. Change-Id: I84af2989035507ac745d028f1585d60d8823ff8b Reviewed-on: https://gerrit.libreoffice.org/61616 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 0a452b5005744d96f37fcb29b37a84e23a04bf8e)
2018-10-11related tdf#120225 ww8export: save PROTECT_FORMJustin Luth
Change-Id: I20664f8c2dc2c49feec17ee6a1df72776d43cc40 Reviewed-on: https://gerrit.libreoffice.org/61635 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 9943f37e8a80f2c4df6d58da4c50f3e7f3d6f3ce)
2018-10-11tdf#120225 ww8import: keep textform nameJustin Luth
A bookmark cross-reference was trying to access the textform field by name, but an autogenerated __Fieldmark__ name obviously wasn't matching. Change-Id: I1018fecf44fda5d947b214c599f1a405f311e2ee Reviewed-on: https://gerrit.libreoffice.org/61565 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 4af4a473daf8b2530e6b6f5e49c7f4e3413f8378)
2018-09-28ofz#10523 guard aginst 0 pF->nLCodeCaolán McNamara
Change-Id: I8ef476e06f54ddd57be907488a8a65314abda3ee Reviewed-on: https://gerrit.libreoffice.org/60828 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit c5d9823a5726d06aaa816360bc0d48e7ae882085)
2018-09-21tdf#118502 Fix loading of eps images with replacement graphicSamuel Mehrbrodt
Change-Id: Iaf9c8e2ed72115e1f82d2541ae2a1d4803795a46 Reviewed-on: https://gerrit.libreoffice.org/60752 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 088af44063c3e2d1d0e7744a9f9bd7b37ff58a75) Reviewed-on: https://gerrit.libreoffice.org/60768 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 005be0cd5ea4a16860ad595d03ab133daf709a33)
2018-09-21tdf#119875 sw: fix invalid pos of frame after 0-sized section with laycacheMiklos Vajna
The interesting part of the layout of page 2 is: - frame #40 is a section frame with a text frame which is in a list ("A") - frame #48 is a section frame after that, with the same top=19213 Given that frame #40 has height > 0, they overlap when the page is rendered. What happens is: - frame #40 grows - there are other section frames between #40 and #48 in-between, but they don't have an SwSection - these frames are skipped - then the position of #48 is invalidated So the next time we calculate the position of #48, we look the last skipped (previous) section frame (which still has top=19213, since its position was not invalidated above), and since its height is 0, we conclude that our current top=19213 is valid after all. This is like this since commit 84a3db80b4fd66c6854b3135b5f69b61fd828e62 (initial import, 2000-09-18), so leave the code there that invalidates not only the next frame, but all the way down to the first non-SwSection-less-SwSectionFrame. But instead of just invalidating the last frame, invalidate the in-between SwSection-less-SwSectionFrames as well. In practice this did not cause a problem in case the document has no layout cache. If it does, then the frames are created on pages hinted by the cache, then later moved to their final place. In practice this bug was visible only in this later case. (I.e. such a layout cache can be only created if the machine that saved the document last time does not have the fonts needed by the document installed; and then the document is opened on an other machine which has those fonts.) (cherry picked from commit b5937112d4035fb9ffb472e1bf36567d9c78c820) Conflicts: sw/qa/extras/layout/layout.cxx Reviewed-on: https://gerrit.libreoffice.org/60658 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit e850b5a1283485273b91135df15cae7faaac3861) Change-Id: I02ae9f63d0b4b5e9d014df53ed2cf21a04b15090
2018-09-14lok: Avoid crash when inserting a table in a redline.Jan Holesovsky
Steps to reproduce: * turn on changetracking * write few characters * insert table * move the cursor behind the table and type * crash Change-Id: Icd7b64d2fe594c2b87c9d3d7fa48a957755cbc3b Reviewed-on: https://gerrit.libreoffice.org/60390 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 43197a3097d2939c30fd9f242ae52b03bf29f240) Reviewed-on: https://gerrit.libreoffice.org/60402
2018-09-13tdf#91999 export/drawingml: shape rotate 180 is not specialJustin Luth
This commit reverts the first (LO 4.3ish) regression commit 6063555744ed89d8a757b667cddcdd4357839466 and most of the two commits that tried to fix that: commit 9ae1e094d5a8a5b4432c88ebea0ca9fc1c79f602 and commit ee45d881efab230e7682f964d6ad4d00f85b0006 in LO6.0/6.2. The ooxmlexport6 unit test shows that there is nothing special about 180degrees. So, all transformations need to be avoided in docx format - not just 180 degree ones. I removed IsInGroupShape() since it is no longer being used - as per standard procedures. Reviewed-on: https://gerrit.libreoffice.org/58434 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit ab296726263655bd3a722c125dd9cec2d507aaa5) Change-Id: Id2bba5bc542875a10ac21fbb67f29b2d59705493
2018-09-13tdf#117988 writerfilter: IgnoreTabsAndBlanksForLineCalculationJustin Luth
Introduced in LO 4.0 in a mass copy of compat settings in commit 355d25eac764713f4d52eac801ade6e2ff1deab0 Reviewed-on: https://gerrit.libreoffice.org/57991 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 49ddaad2f3ba4e17e1e41e94824fb94468d2b680) Change-Id: I0d95941ff2815a43e571be1a6a0dbab1d12185d6
2018-09-12sw lok: delay processing idle jobs to let LOK finish initializationAshod Nakashian
When loading document, LOK needs to setup the client view, register callbacks, get document size and type, etc. All of these need to take SolarMutex, which is taken by the idle jobs immediately after loading, blocking LOK from finishing initialization and rendering the first tiles for the user. This gives the user the impression that the document is loading for far longer than it actually is, due to lack of interactivity (or indeed any activity on the screen besides the spinning wheel). By delaying the idle jobs, we allow time for LOK to finish initialization and render the first tiles before the idle jobs kick in and hog SolarMutex. Reviewed-on: https://gerrit.libreoffice.org/56572 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 1056640a6e1fd044cb61f5bf5ee85dfec3cbeb7c) Change-Id: Ic6f437bfd6f43dfed2aaa1a9d3510d43f5ec30ae Reviewed-on: https://gerrit.libreoffice.org/58157 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-09-12tdf#82177 docx export: eliminate invalid tcPr insideV/H bordersJustin Luth
better fix than cecf71c18da5430c10daa8522d38d5144edefc14 since: 17.4.25 insideV (Table Cell Inside Vertical Edges Border) This element specifies the border which shall be displayed on all interior vertical edges of the current group of table cells. [Note: Although individual table cells have no concept of an internal edge, which would render this property useless in most cases, it is used to determine the cell borders to apply to a specific group of cells as part of table conditional formatting in a table style, for example, the inside vertical edges on the set of cells in the header row. end note] So, I interpret this as insideV/H having meaning only within table styles, and not when directly applied to a cell. The only documents I've seen with insideV/H directly applied to a cell seem to have been created by LO - which dumps them everywhere, redundantly. Tablestyle cell groupings are handled elsewhere via grabbag dumps, so insideV/H borders can be eliminated from TableCellProperties. Change-Id: I128417f0a0b485c85ede463daacb8feabc457302 Reviewed-on: https://gerrit.libreoffice.org/60187 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit d934fe802c228d5478cea228b84ba56b6c9b9241)
2018-09-12tdf#102290 sw ui: give all columns a chance to growJustin Luth
Previously, if an earlier column wished for the entire table width, then none of the other columns could adjust their size, even if they only wanted one more character. This slight change gives every column a chance to "wish" for an equal portion, and still gives the earlier columns a chance to maximize. So, this should implement very similarly to before, thus workflow should not be impacted. Change-Id: I11e8b94ce333735aa92b5388af6319f8eb0ccc51 Reviewed-on: https://gerrit.libreoffice.org/60027 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 62159ea8cc806df327461275563e95dfdff25667)
2018-09-12tdf#94009 ww8export: always export section marginsJustin Luth
Since the internal SW defaults (0) don't match the import defaults, always write the top/bottom, left/right margins into the document definition. It is very rare indeed to have a zero margin anyway, since the page margin being zero is highly discouraged because of printing. The bug report is for DOCX, but it also affects DOC. I don't have an example where LRSpace is skipped, but it only makes sense to treat these two the same just in case. Change-Id: Ie9a08ad0dd4f73bc976756fe244fc33e2dc804f3 Reviewed-on: https://gerrit.libreoffice.org/59967 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit efd316b6171b9e1827c5e34ddb12658f48268e24)
2018-09-12tdf#82177 docx export: no inside borders on outside cellsJustin Luth
Well, not on the bottom or right outside cells. Obviously the presence of a bottom or a right in those cases doesn't indicate an inside line. Reviewed-on: https://gerrit.libreoffice.org/59600 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit cecf71c18da5430c10daa8522d38d5144edefc14) Change-Id: I5d0661fd60f478a392b12fe9093c2e47e130631b
2018-09-12tdf#115670 vml shadow: shadow is off unless explicitly set onJustin Luth
The absence of "on=" is treated in Word (tested 2003) as off. Change-Id: Ibc6b0e5ca0f25a9c3ca1b9505fa24c4d821bfd0 Reviewed-on: https://gerrit.libreoffice.org/59457 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit b914c4c98bfca32168ff05fec7cc687c95754d36)
2018-09-12tdf#119232 ww8import: even page means default to start on page 2Justin Luth
I didn't see this mentioned in the sprm documentation, but that is how MS Word seems to implement it. Change-Id: I5b86ecf99a884e768877cdb0e71f43cdb9f2ad76 Reviewed-on: https://gerrit.libreoffice.org/59221 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 2127581728ae61eca7470b288c21d1c02754fb5b)
2018-09-12tdf#57589 writerfilter: support hash-encoded colorsJustin Luth
Previously, a hash-encoded value would simply fail to zero and thus the color would be dark black. The unit test covers two conditions. Paragraph 1 has a valid encoding, and pararaph 2 has an invalid coding (which is ignored and fails to COL_AUTO). Change-Id: I68940f5c4b0975a87feb6cab8fb3572b7546a077 Reviewed-on: https://gerrit.libreoffice.org/59295 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 7d01ce4021bafde8184355f46d1cbe2c370767e1)
2018-09-12tdf#37223 insert OLE tables in text tables as native text tablesLászló Németh
to solve the long-standing problem of Calc/Writer integration, ie. now Calc table data are inserted cell by cell in Writer text tables instead of putting an unwanted second table over the original, as an OLE object. First insert the OLE table as a nested native table using paste special as RTF, and cut and paste that to get a native table insertion, removing also the temporary nested table. This fix has got correct undo, but unfortunately, also a small flash during insertion by the temporary nested table. I've tried to fix that by LockView and LockModify, but it seems, they don't help. Note: the planned solution mentioned in the original OOo issue (reported in 2004) suggested to use a hidden temporary document, but that has got poblems with clipboard usage. Change-Id: I49253239f1878bce5fc4c93494f997ed37101a1c Reviewed-on: https://gerrit.libreoffice.org/58346 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 80d3d1044a1ad921bff990e2c4bb4dbf7c0a35c6)
2018-09-12tdf#37223 Writer: insert 1-cell tables as text instead of OLE objectLászló Németh
to get a user-friendly solution to copy Calc cell content to a text document and to its native tables. NOTE: MSO does the same for copying 1-cell tables, while LibreOffice was able to do this only with paste special as RTF. Change-Id: I6156333055aa9bed4cf56ff12f913e89d3f5700c Reviewed-on: https://gerrit.libreoffice.org/57783 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit b9d18daf5b23155a9b4dfcdd5d1f23ed53bc3849)
2018-09-12tdf#118533 fix shape import: zero top margin only in first paragraphLászló Németh
commit 0307a62790b33ee0c02c2323a8f759e53e2035a4 fixed the top margin import of the paragraphs of document sections, and import of first paragraph of the text frames with beforeAutospacing, but nullified all other paragraph top margins in frames. Note: there is no visible margin difference in the unit test (extended by this commit) before and after the fix, because the first paragraph uses also afterAutospacing, resulting still 14pt paragraph space. But the tested beforeAutospacing value of the next paragraph checks the fix correctly. Change-Id: I0ab3b8bbff33c5488f4b4af1ea4dabf7105103f2 Reviewed-on: https://gerrit.libreoffice.org/57231 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 970eaaf1bdade63fd651db591c683e36e662f8f5)
2018-09-12tdf#118533 RTF/DOCX import: fix beforeAutospacing for first paragraphLászló Németh
of a text frame (first bug of tdf#104354), a table cell or a document by setting zero top margin here. This bug could result non visible paragraph content in narrow frames, as in the test document of the commit. See also commit f737c9386a605cb7d8c9dbc210c557f98f6cdc19 for a similar fix for first paragraph of a shape. Fix top margins of the first paragraphs of the affected tdf#82006 and tdf#107480, adding also new paragraphs to their RTF tests cases to keep the original tests, too. Reviewed-on: https://gerrit.libreoffice.org/56737 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 0307a62790b33ee0c02c2323a8f759e53e2035a4) Change-Id: Iea3c735eeb262233b82090fb9491991ed2df2b4e
2018-09-12tdf#107690 DOCX, XLSX and PPTX unit tests for "Open as read-only"László Németh
ie. OOXML export/import of "_MarkAsFinal" MSO document property. Reviewed-on: https://gerrit.libreoffice.org/56475 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit bbdb6cb8ed0d77eeb2e413b38f29d2084bd8257b) Change-Id: I01f0702d5467e78eb93ce8dce8ba25874839c3e3
2018-09-12tdf#107690 OOXML import/export of setting "Open as read-only"László Németh
Import custom document property _MarkAsFinal as LoadReadonly setting, export LoadReadonly as _MarkAsFinal in DOCX, XLSX and PPTX documents. Before this fix, LibreOffice opened read-only OOXML documents as editable, also saved and exported _MarkAsFinal=true silently, resulting unintented read-only warning info bar in MSO. This commit improves interoperability a lot, because this is a basic document protection of MSO, recommended on its UI. Note: LoadReadonly (on File->Properties...->Security, property "Open file read-only") doesn't show "Edit read-only" info bar from commit 630186ff4e0eba7317e542f8c3eca39ebd068721, but it's still possible to switch on editing by Edit->Edit Mode. MSO shows info bar for _MarkAsFinal. (There is an advantage to hide the info bar in LibreOffice in a mixed environment, to avoid overwriting of press-ready MSO files by LibreOffice.) Note 2: Other differences of LoadReadonly in LO and _MarkAsFinal in MSO: (1) Switching on editing doesn't remove the LoadReadonly property automatically in LO. (2) Saving with LoadReadonly doesn't switch off editing of the actual (still opened) document in LO. Reviewed-on: https://gerrit.libreoffice.org/56180 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 9a5c56a9c4e04589b0a6bb710573922e459d9685) Change-Id: Ie279c0670090d075103384cfa44ff1c2a2898216
2018-09-12tdf#108064 OOXML export: keep preset dashes with any line widthAdam Kovacs
Change-Id: I496e1cbac527383837a4e8fcdee42967ecf555e4 Reviewed-on: https://gerrit.libreoffice.org/59968 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit f3d6c44c9cb533fe4f1cd28fc95adc36cac4bfd5)
2018-09-12tdf108064 OOXML export: keep preset dashes in shape outlinesAdam Kovacs
Extending commit d7551e32609d0e0de8ac419576ca42d65c5015be to all default MSO 2016 preset dashes: Saving an ooxml file with LibreOffice now preserves the prstDash tags with the values sysDot, sysDash, dash, dashDot, lgDash, lgDashDot, lgDashDotDot, instead of converting them to custDash tags. Note: the import of the preset dash outlines are still not relative to the line width, in spite of their original behaviour in MSO. Change-Id: I65eaf06952a968019495664067010c874fce1352 Reviewed-on: https://gerrit.libreoffice.org/59203 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> (cherry picked from commit f5f235051055d24c8aced602078c54261603efea)
2018-09-11sw: tdf#119742 fix null pointer in SetCursorInHdFtJuergen Funk
In SwWrtShell::ChangeHeaderOrFooter the ChgPageDesc destroys the frames of the header, that's why GetCurrFrame returns null later. Change-Id: I26915237c8b455a5b8ad0bbd5c2de38537dfef08 Reviewed-on: https://gerrit.libreoffice.org/60130 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 77d075facaf4fc8954666ad541ed14f75d964fba) Reviewed-on: https://gerrit.libreoffice.org/60302 Tested-by: Jenkins (cherry picked from commit 6a8b0d2a9c52b0706772c3b05edc4da995211dc6)
2018-09-11tdf#118845: make HiddenPara have higher priority deciding visibilityMike Kaganski
Otherwise, a Database field in a paragraph which is non-empty would force the paragraph to be visible, regardless of HiddenPara field telling it to be hidden. Regression from commit db04be037b611e296ef9f2542322c52ed82d7a2b Reviewed-on: https://gerrit.libreoffice.org/59792 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 64cb57c82d9e7f7069821b2e2ef92574ec73ebe2) Reviewed-on: https://gerrit.libreoffice.org/59865 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Change-Id: I21807e22bd339fd1ea0aaa3b382579f688903418 Reviewed-on: https://gerrit.libreoffice.org/60025 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2018-09-11tdf#109229: Set "TextBox" prop before filling textbox-related propsMike Kaganski
Otherwise those properties aren't set, and defaults are used Change-Id: Ib6671c019ff652ec5b59d9cbbf02a4e536a17817 Reviewed-on: https://gerrit.libreoffice.org/60267 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit c3422cd205d8da852f5c310b5f08028d6c4c5eb4) Reviewed-on: https://gerrit.libreoffice.org/60297 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2018-09-03tdf#117823 Save mail merge config item in new viewIlhan Yesil
The config object is now saved in a newly created document. Regression from commit id 00fa85e701d4a8984cfa3a24c9b7a3963b031fa0. Change-Id: I2265de1dd69038d447e28dfda2e85c7cf89903c6 Reviewed-on: https://gerrit.libreoffice.org/59728 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 9d847ff825c1c94286e8ab864a88fc5375d9341c) Reviewed-on: https://gerrit.libreoffice.org/59803 (cherry picked from commit 55498d196c31c098b02da5f4638fc0ca155b60b4)
2018-08-29Related rhbz#1618703: Properly handle failure encoding MS fileStephan Bergmann
...when e.g. FIPS mode makes EncryptRC4 (in sw/source/filter/ww8/wrtww8.cxx) fail, but which hadn't been propagated out to SwWW8Writer::WriteStorage (in sw/source/filter/ww8/wrtww8.cxx) Reviewed-on: https://gerrit.libreoffice.org/59518 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 229340812f6e6cc8c868915055583f60c82a8cf3) Conflicts: sw/source/filter/ww8/docxexport.cxx ...plus cherry-pick of follow-up 8114f976b897c4717368146a49d5404ef970c77a "coverity#1438527 Nesting level does not match indentation" Reviewed-on: https://gerrit.libreoffice.org/59572 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 5be8cbdb874621111cb157a98013e254de3b269c) Change-Id: I1123136ce1a25e181a0a27486954621a2dd095ea
2018-08-29tdf#116436 docx export: add missing table background fillJustin Luth
MS formats only have support for Table and Cell fill. Interestingly, MS Word doesn't let the cells inherit from the Table fill setting (even though LO docx import currently does), so that value also needs to be written out into every cell. Change-Id: Ib49fddf52758ff641428de747ea290d1fcb894f3 Reviewed-on: https://gerrit.libreoffice.org/59260 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit 8cc753d54ad1834709c5802115580adf65def89e) Reviewed-on: https://gerrit.libreoffice.org/59286 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit e7d3e0b101ff25bb7edd49df61e330ccb4b75a24)
2018-08-29tdf#116436 doc export: add missing table background fillJustin Luth
MS formats only have support for Table and Cell fill. Interestingly, MS Word doesn't let the cells inherit from the Table fill setting, so that value also needs to be written out into every cell. Since Word apparently ignores the table color, I didn't bother trying to search out how to export that in DOC format. (I did add it to DOCX since it was so easy to find.) Change-Id: I8946f07b45f72fed5959369182882a7bf013b1d0 Reviewed-on: https://gerrit.libreoffice.org/59281 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit b576ab5073a8cdf5ca2db04838d255e142f5a896) Reviewed-on: https://gerrit.libreoffice.org/59287 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 029951e6d3636d99b370568313b8b5c2da8b452d)
2018-08-29tdf#118058 sw, sections in tables: no split for multiple columnsMiklos Vajna
The original use-case was "group a few paragraphs together" for the split sections inside tables, i.e. it's safe to not split when the section has multiple columns. And the multiple columns case would mean that we don't find where to put the follow section inside a table, resulting in a layout loop. Reviewed-on: https://gerrit.libreoffice.org/58951 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit d2d996db4806e84ae0bf6aef1c285b498f2d2867) Conflicts: sw/qa/extras/layout/layout.cxx Reviewed-on: https://gerrit.libreoffice.org/59686 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 57d732c628b39834a97165404ae02a32577259f5) Change-Id: Ifab220e582439d2e757b5645f3167b55a051a379
2018-08-28tdf#119143: introduce tentative directional embedding import supportMike Kaganski
ECMA-376-1:2016 states that w:dir is functionally equivalent to LRE/RLE+PDF pair around the enclosed runs. So this patch does just that. Change-Id: Ibf9775338cc38a3bbc38a42a33fc64ae787b478f Reviewed-on: https://gerrit.libreoffice.org/59643 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/59671 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2018-08-21ofz#9917 use a WW8SprmIter to find the sprmCaolán McNamara
extend WW8SprmIter to support the needed paramater match feature and drop the custom WW8PLCFx_SEPX::HasSprm logic Change-Id: I5893e04402ed03493add398f0939a578807561ef Reviewed-on: https://gerrit.libreoffice.org/59120 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit c57538b2b3c9ffbb206590089c0a5ca69056304d)
2018-08-21outer loop unrelated to inner loopCaolán McNamara
since original checkin of... commit 9cddf9da7fb256418e1bc3b4719abb55e3b0604c Date: Tue May 22 15:33:44 2007 +0000 INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED ... 2006/12/13 12:31:03 tl 1.1.2.38: #i71244# update charts in writer where I think this LockUnlockAllCharts chart2 loop was modelled on the previous chart[1] styles loop of e.g. DoUpdateAllCharts which loop over tables. chart2 objects are unrelated to these tables, so remove the outer loop, which then means the ofz#9689 ofz#9856 ofz9874 crashes that made me look at it will get fixed Change-Id: I7d7ba0a2aa257b5aa399f20d902f01306fbaecff Reviewed-on: https://gerrit.libreoffice.org/59112 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit eadf6f4551416430b58efc42a5756556df0a237d)
2018-08-21tdf#117127 crash on inspecting value describing a tableCaolán McNamara
since... commit f86d0413f7cedf096b285c2eb6698653dd99c21e Date: Mon Mar 30 01:26:21 2015 +0200 SwXCellRange:: and SwXTextTable::getDataArray() do the same which used to have more checks than its replacement Change-Id: Id931882ef7c749ffa18ef3474e3e661ba8614ab0 Reviewed-on: https://gerrit.libreoffice.org/58978 Tested-by: Jenkins Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 30be37d5919024992a81603494a81f0fb1d8f775)
2018-08-20tdf#118385 Avoid crash on loading documentSzymon Kłos
Change-Id: Ifb18fee79667a5d0284407e84877b0d4d89536d9 Reviewed-on: https://gerrit.libreoffice.org/59173 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/59250 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2018-08-20tdf#119294: reimplement fix for tdf#118859Mike Kaganski
When removing paragraphs with mail mere fields, both field type reference and node reference could get invalid, because field type will be destroyed when its last field is gone; and node will be destroyed if it is in a fly with anchor in another node which gets destroyed. To avoid use-after-delete, we will use an SwClient on field types, thus detecting if a collected field type got destroyed; iterating over fields using SwIterator is safe, because removing a node with fields would update the iterator. Change-Id: Id8b555ef7015b13ab70ebb41845d34c477ac6b31 Reviewed-on: https://gerrit.libreoffice.org/59164 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit c883d5e073d2ac5b2d55126c929d7bf3e6d295e8) Reviewed-on: https://gerrit.libreoffice.org/59178 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2018-08-10sw: fix ignored frames in AppendAllObjs()Michael Stahl
The problem is that AppendAllObjs() doesn't check if MakeFrames() actually created frames, it just assumes success. If there are frames anchored in frames, then it could go through the circular_buffer, find a dependent frame before its anchor frame, unsuccessfully call MakeFrames(), then call MakeFrames() on the anchor frame, and then the vector is empty. A surprising aspect is that push_back on a boost::circular_buffer will silently pop the first element if it's already "full". Possibly this is what caused tdf#112447. 1. insert section 2. in paragraph in section, insert frame 3. repeat 2 4. drag anchor of frame 1 into body of frame 2 5. edit section, click hide 6. edit section, un-click hide 7. only one frame is displayed (regression from 575e222a1742918be052f2b716ddf57ce0008404 and/or ce2fce9a41729774689080c8b5552b60c2e6ee2d) Change-Id: Ie782252ac388524dfb083f655320a50e95239b24 Reviewed-on: https://gerrit.libreoffice.org/58676 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 31e66bd07c1082bb375be8aaf7835f019351d9bb) Reviewed-on: https://gerrit.libreoffice.org/58680 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 8d14c10639a4ff161e31156348c9928498df71ef)
2018-08-10forcepoint#69 ditch any unclosed m_pPosAfterTOC before dropping cursorCaolán McNamara
Change-Id: I6b56a48f5449b25fe3bdc2e02d3885388b0da74f Reviewed-on: https://gerrit.libreoffice.org/58498 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 71aae473c9c3cf15f75e2722afc7153a3af76d44)
2018-08-10Resolves: tdf#118965 fix input list edit buttonCaolán McNamara
regression since... commit 7d5245848c28f5786258476cd7aa2a4523645de3 Date: Fri Sep 15 17:39:48 2017 +0200 tdf#79877 revert to old behavior when clicking on input fields. Change-Id: I5e67a8f0c8d2599c139d3d728298c30f4a31c8d1 Reviewed-on: https://gerrit.libreoffice.org/58317 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit f36207cb94ef8245bdb62651bae9ca290a4744df)
2018-08-10tdf#118579 ignore body in body instead of flagging as an errorCaolán McNamara
Change-Id: Ie6626a320a5264aea004f7c57244643798703de8 Reviewed-on: https://gerrit.libreoffice.org/57654 Tested-by: Jenkins Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 46b6a3b0e244596f8eed88584efacae3debd1917)
2018-08-10Resolves: tdf#118545 restore to historic logicCaolán McNamara
revert commit 9eff9e699e17cc5a8a25895bd28dc8e4ceb8071e Date: Wed Aug 10 09:47:40 2016 +0200 Don't re-check valid SwPageDescs when layouting and then revert commit 60d34e1c840d2c317bb7d0a5b14f4602c22b3fcc Date: Wed Nov 12 20:33:06 2014 +0000 coverity#735517 Logically dead code its possible that this was the original intent, maybe Change-Id: Iff45f1e7f3d7e3791d984eb117779a6f39ebb19c Reviewed-on: https://gerrit.libreoffice.org/57660 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b26718458b46e23e2d644b1580565d30f3df8871)