summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-01-27tdf#105330 sw: fix lost cursor on undoing nested table insertfeature/cib_contract57cMiklos Vajna10-17/+69
This is a regression from commit e4509eea8fc7c07ddff48edf0d4c015c2663d896 (n#751313 SwCallLink: avoid redrawing complete rows without nested tables, 2012-04-20), though manual testing shows that the underlying problem has been addressed in the meantime, so this can be reverted. Over time, some poor tests started to depend on the new behavior so adapt them as necessary: 1) Change back test added in commit 075fc0c0a34875adf2833e5933b4982b9443a373 (testcase for fdo#38414, 2014-03-18) to its original form, that was changed to an export test in commit 086550313260d9fa45b91dc705b21bb9b51ce0b8 (move round-tripables to ooxmlexport, 2016-10-07), as the export of that document still results in data loss of cell content, just happened to pass so far. 2) Explicitly calculate content of text frames in two more tests, which just hoped that by the time they assert, the layout is ready already (but now that the missing notification is restored, it happens that the first pass of the layout doesn't create them; only a later pass, invoked by Idle, which doesn't run during cppunit tests). (cherry picked from commit c56bf1479cc71d1a2b0639f6383e90c1f7e3655b) Conflicts: sw/qa/extras/uiwriter/uiwriter2.cxx Change-Id: Ie13d17266cd552f3850848ae980bcfe8776997ac Reviewed-on: https://gerrit.libreoffice.org/79043 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit d5b50e74ee822e1c8402e3044e14799e47907ff8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107679 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 1c240ab7350b9be6fa26b274d682ee2ce8775250)
2021-01-19Cut down on -pthread/-lpthread proliferationStephan Bergmann34-57/+10
Building against libstdc++ effectively always requires -pthread anyway (as various standard C++ headers require it, see the comment added to solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread can be removed. Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that libc++ indeed doesn't need -pthread as libstdc++ does. The remaining uses of -pthread/-lpthread are mostly in configure.ac for the various BSDs (which somebody else might want to clean up now), and related to external projects. I tried to be careful to remove -pthread/-lpthread from makefiles only when C++ object files are involved (so -pthread will now be included on the link command line by default). Reviewed-on: https://gerrit.libreoffice.org/71291 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit b1141fa61073b3f24e1a3574afa55a954e5a153d) Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95130 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit fda7f14cb5e4d5f93b2ee706b7ec6ad35a988ae5)
2021-01-19external/libmspub: missing includeStephan Bergmann2-0/+11
Change-Id: I446b26b3c0ffd0d62178f374b570c9fbd1885dd4 Reviewed-on: https://gerrit.libreoffice.org/73813 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit d0e38b8f1efc6a0b2b519ce1f82a83c5766f5633)
2020-11-11tdf#123583 use TaskStopwatch for Writer Idle loopJan-Marek Glogowski3-51/+37
I don't see much of a point in the extra CheckIdleEnd() function. We already check IsInterrupt() almost everywhere, so move that check in there. An other strange thing is the Idle job, which should just be interrupted by keyboard events (using SetInputType(, which this patch removes). Unlucky for me this code was there in the initial import. I can just say that othing obvious breaks... Change-Id: Ia5955d1eaf2ab612f2c4b63b0e458ed92507b75c Reviewed-on: https://gerrit.libreoffice.org/77040 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 383032c50a3e3354f04200ce984a47ab9d2c5c67)
2020-11-11Add a TaskStopwatch to interrupt idle loopsSamuel Mehrbrodt5-6/+260
If we have multiple pending Idles, they will interrupt / starve each other, because there will be an instant pending timeout for the next Idle. This patch introduces a time slice to tasks, so long running events can use a TaskStopwatch to do the real interrupt after running out of their time slice. Apart from the time, this breaks when AnyInput is available, except for the timer event. This class just helps to track the time, as the scheduler is coop, not preemptive. Change-Id: I9d0b4a5aa388ebdf496b355d100152d890224524 Reviewed-on: https://gerrit.libreoffice.org/75568 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 6e13585508ca3c9b66c6571ad1eb42bfcb66ef0b)
2020-05-13loplugin:useuniqueptr in SwViewShell::PrintOrPDFExportNoel Grandin1-9/+8
Change-Id: Id32017ea2d3214e2bb568501ec633f182c5766de Reviewed-on: https://gerrit.libreoffice.org/60603 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 81d7755d026f1f7b34140d5a090a7ee24c7f62f3)
2020-03-04Fix libgpg-error compilation error with gawk5nd1013-1/+116
This is an adaptation of upstream patch https://github.com/gpg/libgpg-error/commit/7865041c77f4f7005282f10f9b6666b19072fbdf plus a fix to Makefile.in Change-Id: I5bf946cf93e5849b8a3428064ab86f6255be97da Reviewed-on: https://gerrit.libreoffice.org/75022 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit af3b993ebea2f653fabba981d4c22b9aa779b32a) Reviewed-on: https://gerrit.libreoffice.org/75075 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 87215115618de0c12d287a300fc5fde993886089) Reviewed-on: https://gerrit.libreoffice.org/76308 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 7aea534459b293d3553b7bdf0a89b8fbc6c6e0da)
2020-03-04external/breakpad: glibc 2.30 declares tgkillStephan Bergmann2-0/+50
...so building against glibc-headers-2.30-4.fc31.x86_64 fails with > src/client/linux/handler/exception_handler.cc:109:12: error: static declaration of 'tgkill' follows non-static declaration > static int tgkill(pid_t tgid, pid_t tid, int sig) { > ^ > /usr/include/bits/signal_ext.h:29:12: note: previous declaration is here > extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); > ^ > 1 error generated. Upstream commit <https://chromium.googlesource.com/breakpad/breakpad/+/ 7e3c165000d44fa153a3270870ed500bc8bbb461%5E%21/> "Fix double declaration of tgkill when using Android NDK Headers" looks like the perfect fit. Reviewed-on: https://gerrit.libreoffice.org/79661 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Conflicts: external/breakpad/UnpackedTarball_breakpad.mk Change-Id: I1b4805886fb7c770cf9733f34a31296e6b859d92
2020-03-04tdf#130150 Improve clipping in PDF exportArmin.Le.Grand (CIB)4-33/+102
For more info and discusson please have a look at the task. It reverts the change from tdf#99680 which did a wrong paradigm change in how clip in Region(s) is defined and tries to fix the underlying error in a more correct way. This includes problems noted in tdf#44388 and tdf#113449. This is a decent improvement, but - due to dealing with numerical problems - not yet the whole healing. Still thinking about how to solve this for good. Adapted PdfExportTest::testTdf99680() and PdfExportTest::testTdf99680_2() as needed, empty clip regions are allowed again. Added comments, too. Had to change solvePolygonOperationAnd to work on ranges if both inputs *are* ranges. The AND-case is then completely solvable. Also increased geometry for transformations of clip geometries - may help later. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89874 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Conflicts: vcl/source/gdi/pdfwriter_impl.cxx Change-Id: I2370447597faa6efb81d58ee31c63654e304262e
2020-03-04tdf#125682 sw: don't insert empty page before first page with even numberMichael Stahl10-74/+82
This mostly reverts commit 14bb680949b47332d2921cc68f75340b31ad5c32 and replaces it by a hopefully better approach: if the first page in the document has an even number, it will become a right page, and "toggle" the document so that even pages are right pages and odd pages are left pages. This is closer to what Word does; the tests adapted in the above commit were actually regressions. Add a new function IsRightPageByNumber() to determine how the page number offsets should be interpreted. Also make it explicit that even/odd and right/left page are no longer synonymous by renaming various "Odd" variables. Historically documents that start with even page number didn't work well anyway; before the above commit you'd get a left page followed by a left page followed by a right page, which is clearly nonsense if the page style differs between left and right pages - so hopefully we can do without a compat setting for those. There is still one situation where an empty page is inserted before the first page: if the page style is "Left Page"; this appears to be impossible in Word so we'll have issues exporting that to Word formats anyway. Testing: Writer pre-commit; LO 5.4/OOo 3.3: 1.odd -> right, 2.even -> left 1.even -> left, 2.odd -> right + inserts a blank page on the right after reload: 1.even -> left, 2.odd -> left, no empty page Writer w/ commit; LO 6.0+: 1.odd -> right, 2.even -> left 1.even -> left, 2.odd -> right + blank page as first page (right) after reload: 1.even -> left, 2.odd -> right + blank page as first page (right) Word: 1.odd -> right, 2.even -> left 1.even -> right but left style, 2.odd -> left but right style [technically uses terminology even/odd instead of left/right, but if mirrored, the "inner margin" is always the same and leads to interpretation of left/right] Writer and Word appear to agree on inserting empty pages on SwFormatPageDesc items/Word section breaks: both even-ness of an explicit page number and "Left Page" only page style or explicit even/odd section break may insert empty page. A useful improvement would be to detect in Word import filters that the first page is even numbered and then invert the mapping of all of the page styles, i.e. odd header/footer->left instead of right, and if mirrorMargins, pgMar left -> inner instead of outer. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88978 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 509a02aa96f6d7620cb0bf06c20b3bfa0641be92) Change-Id: Ibed0dbf888c120a3a7d11892f40d07ffb5bc0b68
2019-12-23sw: fix widow loop with as-char flys in text formattingMichael Stahl3-5/+7
The document has a paragraph with 4 as-character anchored flys depicting Zirbenholz; due to their size and an additional fly that is anchored at the paragraph, there are 3 lines that do not fit onto a single page. This situation causes a loop that proceeds like this: text frame 80 is the follow of text frame 21. when formatting 80: the 1 line violates the widow rule (>=2) and PREP_WIDOWS is sent to 21, invalidating its FrameAreaSize 80 validates its FrameAreaSize when formatting 21: PREP_WIDOWS_ORPHANS sent to 21 CalcPreps() sees IsPrepWidows() and sets a huge height and calls SetWidow(true) SwTextFrame::WouldFit() sees IsWidow() true and resets it false SwTextFrame::WouldFit() sees IsWidow() false and a huge but insufficiently huge height 21 validates its FrameAreaSize CalcPreps() sees IsPrepAdjust() FindBreak() calls TruncLines() and because of as-char fly invalidates FrameAreaSize of 80 The loop is most easily reproduced by printing via the API; it's possible to get a loop when loading the document in the UI, but typically the UI remains responsive even though the layout never finishes. As it happens, before commit ee299664940139f6f9543592ece3b3c0210b59f4 "SalInstance::DoYield: Don't drop SolarMutex when accessing user event queue" the loop on printing via API was broken by releasing SolarMutex; the result, however, was incorrect, with the last line of Zirbenholz that should be on the second page missing in the PDF. This loop is presumably a regression from commit f2e3655255db4032738849cd4b77ce67a6e2c984 "Avoid -fsanitize=signed-integer-overflow", which changed a magic number in SwTextFrame::CalcPreps(), but didn't adapt the poorly documented corresponding magic numbers in SwTextFrame::WouldFit(); in LO 5.1.6.2 the CPU is idle after loading the document. Change-Id: Ib6563c21edb68945c14a61b51ba34f0ee3f2544a Reviewed-on: https://gerrit.libreoffice.org/85623 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 68a5afaaabd0c75bba3439cfdff90fb75d1cdd3f)
2019-12-23tdf#126127: Make nTmp smaller still, avoid -fsanitize=signed-integer-overflowStephan Bergmann1-1/+8
...after f2e3655255db4032738849cd4b77ce67a6e2c984 "Avoid -fsanitize=signed-integer-overflow" had already reduced it from using LONG_MAX to TWIPS_MAX/2 in the past. This time, avoid the computation of > const sal_uInt64 nCurrentDist = sal_Int64(aDiff.getX()) * sal_Int64(aDiff.getX()) + sal_Int64(aDiff.getY()) * sal_Int64(aDiff.getY()); // opt: no sqrt in GetFrameOfModify (sw/source/core/layout/frmtool.cxx) from overflowing (where aDiff.getY() derives from nTmp and can be close to it in magnitude, so computing its square would overflow on platforms where TWIPS_MAX is a large sal_Int64 value). (The "empirically shown to be large enough in practice" in the comment is a successful `make check` on Linux 64-bit with UBSan.) Change-Id: Ic7f058bd6853ff04ccb50a150509e98f850d12d2 Reviewed-on: https://gerrit.libreoffice.org/74801 Reviewed-by: Michael Stahl <michael.stahl@cib.de> Tested-by: Jenkins (cherry picked from commit 8723ac4e20eda87a82393f2f6c7d28ece8514238)
2019-08-07Explicitly disable form export for PDF/A-2Jan-Marek Glogowski1-0/+1
Give BRZ some time to actually adapt their scripts. They'll have to set ExportFormFields for LO >= 6.3 in any way, as general from export was enabled by commit c864d894a901 ("tdf#126642 always allow PDF/A form export"), which will be backported for 6.3 too to have a consistent state. Change-Id: I16b476a4b51b654161efe5f6f92420f76db1e294
2019-08-07tdf#126642 correctly handle the PDF/A settingsJan-Marek Glogowski2-51/+63
This is in the spirit of the master fix. But instead of enabling broken PDF/A form handling, which would eventually require many more fixes, this correctly handles the user setting and disables the form export for PDF/A. The code therefore is almost the same, minus the radio button PDF/A type handling plus disabling the form frame. This includes some adaptions, as the customer branch just contains the first commit from tdf#62728. Reviewed-on: https://gerrit.libreoffice.org/76820 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit aac306e7ea42eeac3d6c1860f25061148ba2f547) Change-Id: I31f96a36d776468a5547042fb9e4c0605751fbba
2019-08-07Fix build with enabled assertsJan-Marek Glogowski1-1/+1
Regression from commit 774a0185fb47 ("tdf#125475 sw: update SwTextFrames when SwTextLine cache shrinks"). Change-Id: Iaab0ede4e993a8cebd56115d3345092529d48e3b
2019-07-03Remove accidental newline from ui contextSamuel Mehrbrodt1-1/+1
Change-Id: I4ccd844e21ddd3052d0380d4ca98eda30cbeb49d Reviewed-on: https://gerrit.libreoffice.org/74959 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 2fd7e4300367754b6d08ff1ebb96970ef91966b6)
2019-07-02tdf#126088 Display InternalPaths in UISamuel Mehrbrodt4-21/+44
Reviewed-on: https://gerrit.libreoffice.org/74952 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit ed7e547e1241cf913e138436fa3d7bca8319ec1d) Change-Id: Ib729be9ff79a3e43d7ec838646b530be8beff2d8
2019-07-02Update git submodulesSamuel Mehrbrodt1-0/+0
* Update translations from branch 'feature/cib_contract57c' - Add de translation for User/Internal paths Change-Id: Ieab5f01f881a8da9f38e180cf01f793cffa5b5ea
2019-07-01Improve the Windows SDK 10 ProductVersion-PathJuergen Funk1-10/+11
At the moment the ProductVersion-Path has always the same format, with this patch, when the format the same, then no change is need for the next Version. Change-Id: I6a52fd20751ba139dd5ed6e3802f29c5e8f02975 Reviewed-on: https://gerrit.libreoffice.org/60041 Tested-by: Jenkins Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de> (cherry picked from commit dfb18a0557d5a897f443fd1f1d617365f6ae134a) (cherry picked from commit a19d1e592695f95e8ef1e57ee23d74cad7801a29)
2019-07-01Fixup checkbox font exportThorsten Behrens1-4/+4
Conflicts: vcl/source/gdi/pdfwriter_impl.cxx Change-Id: Ia451e99003f533dec72cf3309fd843ba0f3f1ed7
2019-05-28tdf#125475 sw: update SwTextFrames when SwTextLine cache shrinksMichael Stahl7-18/+52
SwCache::DeleteObj() may decide to shrink the cache, and then the SwTextFrame::mnCacheIndex goes stale, because only SwCacheObj::m_nCachePos is updated. In this bugdoc, this can happen *inside* SwTextFrame::Format(), where first it succeeds to find an existing SwTextLine, then some footnotes anchored in this paragraph are moved around and formatted, creating new SwTextLines, and SwCache::DeleteObj is called. Later, any access of the original frame's SwTextLine fails to find it and eventually some null pointer crash happens. Newly added SwTextLine::UpdateCachePos() requires that SwTextFrame lives longer than its SwTextLine; there was another problem with that, because SwTextFrame::FormatEmpty() was throwing away the mnCacheIndex, which could then cause a second SwTextLine to be created for the same SwTextFrame, and the first one is not deleted until it falls to the bottom of the LRU list. Apprently for this particular document the problem didn't happen before commit 3d37463eec0c891243a8971a34903b2da01c9e24 and/or commit 31ae7509003b1e650463ee1468c0b315ba13efe6 but that is mostly luck. Reviewed-on: https://gerrit.libreoffice.org/73047 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 1424d51a44ed2fa8b37b2d132af8a608a170ec8e) Change-Id: I7bef1b340a453d6dd44d51a1dc69ee5fd0b697db
2019-05-15tdf#83722: Restrict the condition only to File > NewKatarina Behrens1-2/+2
referrer =~ private:user Change-Id: Ic67b0285ab7f49546499e4a9d90d9061c9d1274c
2019-05-13Load explorerframe.dll at startupSamuel Mehrbrodt1-0/+8
Change-Id: I8d129a4af589cd2b6af446e56309b51b79f6fb68
2019-05-13tdf#83722: don't recycle frame with unmodified templateKatarina Behrens1-1/+10
a frame that contained valid but unmodified document opened from template or explicitly opened by the user (File > New) was treated the same as blank document i.e. it was reused and the content was overwritten by newly opened document (even if it already had non-empty content provided by the template). So let's not do that and let's open a new document in a new frame instead Change-Id: I10252d114e8cc5fcad3c98194ef07fd59873d6da Reviewed-on: https://gerrit.libreoffice.org/71919 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-05-13tdf#122607 sw: restore CalcLayout() call in getRendererCount()Michael Stahl3-3/+54
Effectively revert commit 1ecca673b40fedc53db125e332b087d1c120a254. There are some documents that aren't formatted correctly. (cherry picked from commit 5879351aeb1935e2bf86fda59703f7d49fdeb6ed) Change-Id: I4b0cf6313c249a0ed916c2630cd5194d809bfb48
2019-05-13tdf#122607 sw: fix preservation of text frame cache entriesMichael Stahl4-12/+44
SwSaveSetLRUOfst would leave only 50 cache entries available for the CalcLayout() to use; apparently it's not enough for this document. The difference between the 1st loading/layout and the 3rd loading/layout of the document is that in many paragraphs the cache entry is missing, because the entires of the previous loads were clogging up the cache and were preserved here, and the cache only has 50 available entries; if enough entries are available, everything is positioned properly. The idea with the 100 entries per visible shell actually comes from the CVS initial import, where there was a comment suggesting that; but the corresponding parameter was actually unused and removed in 7c704c78d3c652504c064b4ac7af55a2c1ee49bb. Ideally we'd have time to investigate why a missing cache entry causes the wrong position... Reviewed-on: https://gerrit.libreoffice.org/71542 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 3d37463eec0c891243a8971a34903b2da01c9e24) Change-Id: I64a72a94361dbf5717bbc709fa3bc9abbe18a37c
2019-05-13tdf#122607 sw: remove deleted SwTextFrame's cache entryMichael Stahl3-0/+14
Apparently nothing else would remove the entry, and without SwTextFrame it's not accessible any more. If the entry was recently used, then the SwSaveSetLRUOfst usage in SwViewShell::CalcLayout() will preserve it instead of giving the cache entry to a new frame. Change-Id: Id43fdbad2ac006853928e30a7b6768c3e3dc1667 Reviewed-on: https://gerrit.libreoffice.org/71541 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 31ae7509003b1e650463ee1468c0b315ba13efe6)
2019-05-13Fix appearance for checkboxesThorsten Behrens1-10/+41
Conflicts: vcl/source/gdi/pdfwriter_impl.cxx (cherry picked from commit 49cb0dc7d70fdb12fa6eb91c98d63f9e0cf0067c) Change-Id: Id5028b0d062e0491b1cc9c36e2d9d4e4a7ab14a1
2019-05-13pdf: always write resource dict for content streamsThorsten Behrens1-8/+10
Take out: - revert i#42884 workaround for AR5: use implicit resources in transparency groups Since verapdf complains with FAIL 6.2.2-2 in this case - missing resource dict for content stream. Change-Id: Ic186d2b4b393ac34f991a6747667332cf8f4658b
2019-05-13Fix windows buildSamuel Mehrbrodt1-3/+3
After 54ac2b203a6dd974c0153996ba67b26d585e98e1 Change-Id: I805415dfa75568d843fceb5a79b637aac337ffd4
2019-05-13Add missing includeSamuel Mehrbrodt1-0/+1
Fallout from 7f9dfae2f83f11cc7799110435164a6bd2ba19d5 Change-Id: If1f9ac47baf389c363f1fbda4158f4101ae2d50a
2019-05-13tdf#124025 Update formula before printingSamuel Mehrbrodt1-9/+11
Reintroduce the UpdateFields call, but guard it so that it does not modify the doc (as it was before) Change-Id: I23e814f0b5d900d145dc82272034f03e66c079ed Reviewed-on: https://gerrit.libreoffice.org/69696 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 055480aac88e4688619e9a7815e0a8b0ab97a5a1)
2019-05-13Add missing constraints for pdf versionsSamuel Mehrbrodt1-0/+10
Change-Id: I21008bf17641977b61b1735bb27bc54f24beda4a Reviewed-on: https://gerrit.libreoffice.org/69382 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 6cbaee3d0522fa78383e3952c926d7f9310b123f)
2019-05-13tdf#113448 fix PDF forms exportThorsten Behrens1-0/+13
This fixes verapdf A-2 validation error '6.3.3-2 annotation appearance dict is wrong'. Controls that use type /FT/Btn must have sub-dicts as /N content, instead of a direct stream reference. Change-Id: If985644fe3d583e98a0b3a703e4b33dbf652f165
2019-05-13Fix pdf validation error 'glyph width in dict and font inconsistent'Thorsten Behrens1-12/+26
Previous code was writing hard-coded '1000' as glyph width for any type1 font subsetting - since actual type2 width info only became available during subsequent convertOneTypeOp() parsing. Catch was, that loop sometimes already modifies the output buffer (whenever glyph path info was given), so we fix that by first padding out 5 bytes for the width (size of integers are sadly variable), then parsing Type2 glyph code, and in the end putting in the actual width value we then know. Can't put hsbw type1 op last, since standard requires that to be first (and can only be given _once_). Could be re-done nicer by buffering Type2 glyph data, then writing it. Left as an exercise for the reader. Change-Id: I64ffaa32ded2f0a7c06311d1e0426cf358308a0a
2019-05-13tdf#123898 Fix frame content misalignedSamuel Mehrbrodt3-53/+17
Frame was correctly formatted until spellchecker comes and calls GetCharRect which somehow reformats the frame causes the misalignment. So instead of calling GetCharRect, just call GetPaintArea as the frame is already formatted at this point. Reviewed-on: https://gerrit.libreoffice.org/68927 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 86567ebde2d38c44aae93064b8c102f365641f81) Change-Id: I31df9140174c40cf4cf39891490301cbe4c5806a
2019-05-13Export PDF/A as 2bThorsten Behrens7-34/+60
* replace export dialog option with 2b (from 1b) * keep A-1 support for UNO * add new SelectPdfVersion filter config param value of '2' Change-Id: Ia7eca732ef3d018dd5bb1bda79876400d6d03a02
2019-05-13tdf#123378 Prevent modifying doc when printingSamuel Mehrbrodt2-2/+25
Just remove this update fields call, they are updated anyway. Reviewed-on: https://gerrit.libreoffice.org/67754 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit ac1b2c9e1ab2f84de3a8856772e00302d237e82f) Change-Id: Iaed1b6e7e1be8138ecb48e7557cc09ec0eeebda3
2019-05-13tdf#122607 Fix layout invalidation in headless modeSamuel Mehrbrodt4-1/+23
Layout was not invalidated correctly since the visible area is 0 in headless mode. So just reformat the whole doc when doing the pdf conversion headless. An attempt to fix this was already made with commit 1ecca673b40fedc53db125e332b087d1c120a254 but that didn't cover all cases. Reviewed-on: https://gerrit.libreoffice.org/67417 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit e41b09d0126ecb28cff277c9b4b40eae7cc7c3f4) Change-Id: I3f620b2f2db2c4a6e5bf279b33e5c93697e4e2d4
2019-05-13tdf#122607 Don't unnecessarily redo the layoutSamuel Mehrbrodt1-4/+0
Brings weird issues like out of place textboxes as described in the bug. Change-Id: I19341efc48188f0b52069401dc39ba05f4fcc7f6 Reviewed-on: https://gerrit.libreoffice.org/66874 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 1ecca673b40fedc53db125e332b087d1c120a254) Reviewed-on: https://gerrit.libreoffice.org/66897 Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-05-13hold LogicalFontInstance with rtl::ReferenceNoel Grandin31-281/+103
instead of manual reference counting. Also the releasing of not-currently-in-use LogicalFontInstance objects from the cache is made less aggressive - we now only flush entries until we have less than CACHE_SIZE instances, instead of flushing the whole cache. Reviewed-on: https://gerrit.libreoffice.org/55384 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit c4c56de1b0e62ec866b519b2b24c5e805f0a86d3) Change-Id: Ib235b132776b5f09ae8ae93a933c2eebe5fa9610
2019-05-13manage PhysicalFontFace by rtl::ReferenceNoel Grandin19-57/+56
Change-Id: I8f66b5afb066fe83abb83c56ebde6f21197f894b Reviewed-on: https://gerrit.libreoffice.org/55333 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 77a01802d1a0452814718789bb0c76adeeb747c0)
2019-05-02libpng: upgrade to release 1.6.37libreoffice-6-1Michael Stahl1-2/+2
Fixes CVE-2019-7317. Change-Id: I3374f5cbd6552e2c1569d63ee680d0c1d9389621 Reviewed-on: https://gerrit.libreoffice.org/71663 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit e2abbc0062398ea67cb13cb5b0b7bfdce78e652c) Reviewed-on: https://gerrit.libreoffice.org/71669 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-05-02Update git submodulesChristian Lohmaier1-0/+0
* Update translations from branch 'libreoffice-6-1' - update translations for 6.1.6 rc3 and force-fix errors using pocheck Change-Id: I360802d2255a94fe829e15b72f8f388445e8b740
2019-04-29ofz#14469 null derefCaolán McNamara1-1/+3
since... commit af84fc9d906626255aaf136eefc5e55236e0e8a6 Date: Tue Apr 23 15:48:41 2019 +0200 lazy image loading shouldn't read the entire .xls file (tdf#124828) nLength is just an unchecked value in the dff stream, it might not be sane so limit it to the max len of the stream Change-Id: Ia8a2830478952afe1317b5cd795f35059d9b380a Reviewed-on: https://gerrit.libreoffice.org/71414 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2019-04-25update creditsChristian Lohmaier1-1267/+1293
Change-Id: I28e8d8e4ab940ae838fc555702b5580dc76931dd (cherry picked from commit 982137545d5263bfcc28e896708ec851b8bcce99)
2019-04-24Update git submodulesChristian Lohmaier1-0/+0
* Update translations from branch 'libreoffice-6-1' - update translations for 6.1.6 rc2 and force-fix errors using pocheck Change-Id: I7c4591cb55c5fcb546a66c128a0027b807f76a47
2019-04-24lazy image loading shouldn't read the entire .xls file (tdf#124828)Luboš Luňák3-4/+9
b11188835d3b87cd changed msfilter to use GraphicFilter::ImportUnloadedGraphic() to lazy-load images from the document. However, that function in some cases simply reads the entire rest of the passed SvStream, which in this case is the entire .xls file. And the document from tdf#124828 is ~50MiB and contains ~4000 images => 100+ GiB memory required. Reviewed-on: https://gerrit.libreoffice.org/71136 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit af84fc9d906626255aaf136eefc5e55236e0e8a6) Reviewed-on: https://gerrit.libreoffice.org/71221 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Change-Id: I74926383204ec642eabb28b62e2cf2e1ff8054a9 Reviewed-on: https://gerrit.libreoffice.org/71225 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-04-20libxslt: add patch for CVE-2019-11068Michael Stahl2-0/+121
Change-Id: I3fe30de8140dce3d81cdfae7d41e0bd465b1d5f4 Reviewed-on: https://gerrit.libreoffice.org/70879 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 2d85b75b1220484aebd6e583d6d7aee71280e38e) Reviewed-on: https://gerrit.libreoffice.org/70894 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-04-12bump product version to 6.1.7.0.0+Christian Lohmaier1-1/+1
Change-Id: I6ac45e5024dead05d6bfe44d4ab2c6ad07f39acd