summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-10Bump version to 24.04.3.4cp-24.04.3-4Andras Timar
Change-Id: Ib3414d9083868ef1426f1782aac74ceb99dc451c
2024-06-10Avoid potential negative array index access to cached text.Michael Meeks
if ((nIndex != 0 || nLen != text.getLength()) && !skipGlyphSubsets) seems unlikely to protect us from this: /opt/rh/devtoolset-12/root/usr/include/c++/12/string_view:239: constexpr const std::basic_string_view<_CharT, _Traits>::value_type& std::basic_string_view<_CharT, _Traits>::operator[](size_type) const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; const_reference = const char16_t&; size_type = long unsigned int]: Assertion '__pos < this->_M_len' failed. coolwsd[16958] ... SIG Fatal signal received: SIGABRT code: 18446744073709551610 for address: 0x7300004e16 SalLayoutGlyphsCache::GetLayoutGlyphs(VclPtr<OutputDevice const>, rtl::OUString const&, int, int, long, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/vcl/source/gdi/impglyphitem.cxx:399 GetTextArray(OutputDevice const&, rtl::OUString const&, KernArray&, int, int, bool, vcl::text::TextLayoutCache const*) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/include/rtl/ref.hxx:128 SwFntObj::GetTextSize(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/fntcache.cxx:766 SwSubFont::GetTextSize_(SwDrawTextInfo&) /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/txtnode/swfont.cxx:1022 SwTextSizeInfo::GetTextSize() const /home/collabora/jenkins/workspace/build_core_co-24.04_for_online_snapshot/sw/source/core/inc/swfont.hxx:314 blind fix - but seeing a lot of these. Change-Id: Icb6ca25e4b8c6ef8a5e5b89dfa01b56bb788378d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168575 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-09stale hyphenation data after skipping blanksCaolán McNamara
what I see is that after skipping blanks that the m_xHyphWord remains describing the word at the original m_nBreakStart, but we have changed that m_nBreakStart and m_nBreakStart is now at the next word, so the contents of m_xHyphWord bear no relationship to the current break position. Change-Id: I07c91495f0cd7ef6d78c0f0d5cef70070ebb6ff2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168564 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-05Bump version to 24.04.3.3cp-24.04.3-3Andras Timar
Change-Id: If1c8b38fa5fc6412f52dd12b94e9070463d321d0
2024-06-05Revert "tdf#160706 speed up loading conditional formatting rule in XLS (II)"Henry Castro
This reverts commit 13d39423a8bb70c08052fb02ef41cf3ea6f731d1. Unfortunately, it breaks copy/pasting slide. Change-Id: I1831aac9e672cf66dea658979e98855529b94b07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168473 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-28Bump version to 24.04.3.2cp-24.04.3-2co-24.04.3-2Andras Timar
Change-Id: Ic7eeba9c36ab51ea30855b3cf9e4495bd7356a89
2024-05-27[cp] On Windows only build selected helppacks (en-US, fr, de, it, es)Andras Timar
Change-Id: I3fe6b865ca0b01cc60b54771edbf230eee5b2641
2024-05-27Resolves: tdf#161057 draw/impress auto font color not updated on theme changeCaolán McNamara
Change-Id: Id3d02c38e3bbda34f65f5623fff1a5f39238e46a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167812 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-27tdf#160984 sw continuous endnotes: fix crash on loading forum-mso-en-7731.docxMiklos Vajna
Regression from commit 1ae5ea3f78cca11ba18f2dd1a06f875263336a3b (tdf#160984 sw continuous endnotes: enable DOCX import, 2024-05-21), the bugdoc crashed in SwSectionFrame::GetEndSectFormat_(). What seems to happen is that the first endnote is added to page 1, then more content is inserted, so the endnote is moved to page 2, which leaves an empty endnote section on page 1, which is marked for deletion in SwSectionFrame::MakeAll(), and will be deleted in SwRootFrame::DeleteEmptySct_(). At some point (after marking for deletion, before deletion) SwFootnoteBossFrame::AppendFootnote() tries to find the first endnote section in the layout, and finds this section, but it crashes because there is no SwSection attached to it, as marking for deletion in SwSectionFrame::DelEmpty() clears that. Fix the problem by ignoring to-be-deleted sections in SwFootnoteBossFrame::AppendFootnote(): this way a new, usable section will be created and the to-be-deleted section go away as the layout finishes. An alternative would be to check for SwSectionFrame::GetSection() earlier, as we iterate on pages (hoping that this way we find a later page that has a not-dead endnote section), but that leads to 6 pages instead of 4 pages for the bugdoc, so don't go that way. (cherry picked from commit 3f2d0414686a8f9a042413c47c4c8ffa5d61f436) Change-Id: I9a21cbccb5a088314520c7ade55dbdf9966d1265 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168099 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-27tdf#160984 sw continuous endnotes: fix the endnote separator lengthMiklos Vajna
See <https://bug-attachments.documentfoundation.org/attachment.cgi?id=194324>, Word has a longer separator line for the foot/endnote than Writer for this bugdoc. Writer defaults to 25% of the body frame width in the SwPageFootnoteInfo ctor, and we don't seem to change that in the DOCX import. Word has a static 2 inches setting, which is only reduced if it would go outside the body frame. Fix the problem by extending SwFootnoteContFrame::PaintLine() in the DocumentSettingId::CONTINUOUS_ENDNOTES case to do the same. I searched the OOXML spec and the MS implementer notes, they don't specify this 2 inches length, but it seems static: the value doesn't change with the page size. With this, the single-section bugdoc is now rendered fine. (cherry picked from commit 755f3bebd96ec7ae43b1dcf247f907b9c15c1995) Change-Id: I3bb23680937580179b8d37c940ea14e0f80fc7f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168088 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-27tdf#160984 sw continuous endnotes: fix the endnote separator positionMiklos Vajna
See <https://bugs.documentfoundation.org/attachment.cgi?id=194306>, the total height of the endnote separator is now correct, but the distribution of upper space, line width, lower space is still bad, when compared to Word. Our model is 2 spacings and a line width, while Word seems to simply split the amount of available space: 60% goes above the separator and the rest goes below. Fix the problem by breaking up the monster expression for the separator rectangle in SwFootnoteContFrame::PaintLine(), and then the compat + horizontal case can do the 60% spacing in the Word compat mode. The width of the separator is still not correct. (cherry picked from commit f1d0b4e34a1f467e9f54baa7ac31ca28fdae3efb) Change-Id: Ic065c138041892225b3c1b7d4bd64d4f1c625611 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168007 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-27tdf#161222: LOK: do not fine-tune text scaling for tile renderingMike Kaganski
For unclear reason, this shifts text on all tiles except the top left one. I wasn't able to track where the coordinate is changed: it seems that the pixel offset of the virtual device, its MapMode's origin, as well as the start point passed to the DrawTextArray method, are all only changed by a tiny amount, if at all, so it should be no more than a pixel off compared to before commit cc3663bbaed4f65d64154e5f9abb51a5f622f710 (tdf#160702: improve text positioning, 2024-04-20). However, it is already more than half the tile size (more than 128 pixel) offset in 75% scale case for the second tile; and it's completely off the tile for all the rest (third+ in a row), and for greater scales (100%+) even for second tile. Change-Id: I64dc24bea4bab0cac90f11f2500bba0fd9bc7855 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168041 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins (cherry picked from commit c9571914b8170128a68496ec2dd299e21243d1c1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168055 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-26Fix a memory leakPatrick Luby
CreateNSString() expects the caller to release the returned string. Change-Id: I578488dd99c4c2737894287ab3e597ba8607669e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168040 Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-25WakeupThread - re-factor to have a single shared wakeup thread.Michael Meeks
The WakeupThread is an attempt to avoid needing to call gettimeofday and/or update a visual status bar very regularly, and to have a thread marking the passing of time to emit progress updates infrequently. Re-factor this to have a single time-keeping thread, so it will be easier to shutdown and re-start for LOK; and also to simplify some of the complexity lurking here. Change-Id: Ia95890e5d6041a029484aa3f7df13b59a0397086 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168032 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-24sc: don't overwrite Special Positioning on MakeEditViewJaume Pujantell
On LOK, calling UpdateEditPos after SetEditEngine overwrote the outer area of mpLOKSpecialPositioning, making the text show on the wrong position on right alined cells with overflowing content. Changing the order of the calls fixes that. Change-Id: I8ddb31103bb6f0bab1a9a6532af55797ef011214 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167991 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-24tdf#161137 sw: AutoText or Paste should copy paragraph indents for listsMichael Stahl
The first commit made the start and end node of the paste look like the list it was inserted into, but the middle nodes may have different paragraph styles and may have different left margin / first line indent. In addition to the SwNumRule, also copy any left margin or first line indent if it is effective on the node that the SwNumRule was taken from. Now all the list labels should be in the same place. Change-Id: Ia5794687ea0ff542f23289b1ca63ea99dae85bc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167777 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 2bcaa374ea418cd81f9dbf62cd7e896f5977992a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167810 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit b01d89eaf473870281f6ecbdeb12aa3fcd79f9bb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168006 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-23tdf#160984 sw continuous endnotes: fix the endnote container's top marginMiklos Vajna
Comparing the Word vs Writer output for the bugdoc, the vertical position of the endnote text is not correct: the y pos should be larger than it is, see the red reference at e.g. <https://bug-attachments.documentfoundation.org/attachment.cgi?id=194265>. Seems this is caused by the different height of the rectangle around the endnote separator: the top margin is 124 twips in Writer, which is a hardcoded default from the SwPageFootnoteInfo ctor, while Word has this separator as a special character, inside a paragraph, which inherits the height of the default paragraph style. Fix the problem by extending sw::FootnoteSeparatorHeight() to also work from RES_POOLCOLL_STANDARD in the Word compat case. Note that it's not enough to take the font size (11pt in this case) from the paragraph style, we want to work with the real font, which knows the spacing between lines (15% in this case). SwFont::GetHeight() has this logic, it's also what e.g. SwTextFrame::FormatEmpty() uses. Note that footnotes have the same problem, but given that they grow from the bottom of the page, the text position was correct, even if the separator height is incorrect. Also, the separator line itself is not changed in this commit, we just make sure that the height is OK, so text below the line has the correct position. (cherry picked from commit d1ddd136a1b0e452492464d58715eaec144fd811) Change-Id: If1f4757908355abc81ee711de5ab9db4c751354c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167984 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-23tdf#160984 sw continuous endnotes: enable DOCX importMiklos Vajna
This was working for DOC already. For DOCX, this was already enabled once with commit f9982c24066d6dd2f938cc20176af0f196bc018f (tdf#58521 DOCX import: enable ContinuousEndnotes compat flag, 2021-07-13), but then it was reverted later with commit commit eeda1b35a6e87d5349545464da33d997c52f15e3 (Revert "tdf#58521 DOCX import: enable ContinuousEndnotes compat flag", 2021-08-10), because of tdf#143456. Enable it again, now that the section-based layout seems good enough to handle larger number of endnotes, e.g. the 48 endnotes from tdf#143456. (cherry picked from commit 1ae5ea3f78cca11ba18f2dd1a06f875263336a3b) Change-Id: Id221f31f9208e84db2c358546d4d6ceea991b6b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167924 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-23lok: sc: fix print mode document back colorHenry Castro
Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I334ff51230ef01d7a87790409a6d76541c57ba54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167911 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-23Related: tdf#145972 sw images: fix rounding error in relative size calculationMiklos Vajna
Open the bugdoc, see that the image is roughly half of the page width, right click, properties, UI shows that the width of the image is 5% of the width of the entire page. This only happens if tools -> options -> writer -> general sets the UI units to points, the default cm case is fine. This went wrong with commit 9e8712ed6f9fb5dbd971e352a5709bd45fadc74f (sw image dialog: fix fallback width/height for images with relative sizes, 2022-03-17), because the layout size started to matter more after that commit. This lead to the nWidth != m_xWidthED->get_value(FieldUnit::TWIP) check in SwFramePage::Init() to be true, because 11906 * 0.48 is 5714.88, so you got 5714 in the layout, but got 5715 with rounding in SwFramePage::Reset() (which tries to calc the page width based on the 48% and the fly width). And once we had that mismatch, we went down the wrong path. Fix the problem by using rtl::math::round() in SwFlyFrame::CalcRel(), so the relative width twips value is 5715 everywhere: once we have consisteny, the UI value is correct, too. Note that the original bugdoc needs more fixing, this just fixes the bugdoc where KeepRatio is false. Change-Id: I1e8782c95a0cf9d97375c36d41134735c01f3e46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167916 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167926 (cherry picked from commit 3046bd0e30406d37813ce3eaa65f71f5ed10ab13) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167980 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-23split a piece of code out as a standalone GetOrCreateAnnotationWindowCaolán McNamara
Change-Id: I674d96976f265eeac719ed06a657af07aaae2325 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167954 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
2024-05-22tdf#161137 sw: fix AutoText or Paste overriding paragraph indentsMichael Stahl
The problem is that when a paragraph style specifies a SwNumRule, then this style's indents override the indents of the SwNumRule, but if the same SwNumRule is also added to the SwTextNode's mpAttrSet, then the style's indents no longer take effect. This happens both when inserting an AutoText, and when Pasting, into a list item, because DocumentContentOperationsManager::CopyImplImpl() sets the pNumRuleToPropagate as direct formatting on every pasted node. Add another flag to SwDoc::SetNumRule() to check if pNumRuleToPropagate was already in effect due to the paragraph style. Change-Id: Id98ad2a21eab4f8636fb36f9298a054cfe4f7784 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167766 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 7698f386413e514a4478a1af69a8a3be93dfecab) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167689 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 2e2ea78e585d469373c038aa12c5b99909a018c8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167917 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-22Related: tdf#160725 - Add horizontal binary search mode for SortedCacheBalazs Varga
and ScSortedRangeCache classes to support binary search mode in case of different columns. Which is used by the new XLOOKUP function from now on in case of binary search mode. Conflicts: sc/source/core/data/queryiter.cxx sc/source/core/tool/rangecache.cxx Change-Id: Ibb2ae33670cbe9b47110de57afb6376cd829b465 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166758 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> (cherry picked from commit 85f733a9242339d8e92f992ff1ad6d1b99d3f383) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167915 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-22tdf#160725 - Fix XLOOKUP has different result for approximateBalazs Varga
search than Excel. Some rework for xlookup binary search in rows to get the correct results when we are searching with binary mode in rows. Change-Id: I7ef710c4ae638e2cf5d4bee45810cec7057f5d4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166451 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins (cherry picked from commit e2c9d38d95a1a0b5cf754fb04f2fd73c6ddb8004) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167914 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-21Bump version to 24.04.3.1cp-24.04.3-1Andras Timar
Change-Id: I31cf3fd1d7b98fd7b81d9e01d0c53ddb93451baf
2024-05-21tdf#161172: Also record history for !bChangeOfListStyleAtParagraphMike Kaganski
Change-Id: I6443d7ef76a27ac3ab75f88edd271a8b36e06c14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167839 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167841 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-21fix build break wrt ‘Wait’ is not a member of ‘PointerStyle’Caolán McNamara
Change-Id: Id5845e55a879fafbb5dc269b4179d87f7f94285b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167896 Reviewed-by: Aron Budea <aron.budea@collabora.com> Tested-by: Aron Budea <aron.budea@collabora.com>
2024-05-21sw: show "wait" pointer while accessibility check is runningTomaž Vajngerl
Change-Id: I234af45560db7940d07669be9abd1b1ec50a74cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167880 Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-21sc: LOK: invalidate sheet geometry on row height changesPranam Lashkari
sometimes if undo/redeo affected row heights (i.e: undo an autofill) sheet geometry was not updated in LOK Change-Id: I995d23752712f6baf3c348f6fe5fb292f7c9043b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167878 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-21remove stray linesCaolán McNamara
Change-Id: I63aaa95921f79eea682ab82194b15083a9fa8fd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167873 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-21writerfilter: avoid infinit loop when resolving embeddings on docxJaume Pujantell
If a docx file contains a loop on the .rels files for headers and/or footers the code would enter an infinite recursion while looking for embeddings. Change-Id: I2122fd6b1677812f561e96a9511a61b0e938e94a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167784 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167885 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-21writerfilter: fix parsing of invalid STYLEREF fieldMichael Stahl
forum-mso-en-3309.docx contains a funny field that doesn't follow the grammar in the OOXML spec: STYLEREF \t "Heading 1" \* MERGEFORMAT Word can evaluate it and find the paragraph, so make the parser a bit more flexible, by adding known switches that don't have arguments, so that any argument following these becomes a field argument, for now only for STYLEREF. (regression from commit d4fdafa103bfea94a279d7069ddc50ba92f67d01) Change-Id: Ic42cd2be58fd65a817946e21a9661d357b02a99a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167697 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 5ae1379fcdd00228e683ae90991e275f570cd92d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167733 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit d632d86579467941ce8b3dda1dbd46c83a92877a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167882 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-20lok: translate formula bar functions to each localeJaume Pujantell
On calc the native formula symbols were loaded once on start-up and assumed to not change. This adds a map language to symbols when LOK is active and chooses the correct set of symbols on each call. Change-Id: I821fb3ad4a06d764399e3fdf4a2ec628909312db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167870 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jaume Pujantell <jaume.pujantell@collabora.com>
2024-05-20cool#9019: draw/impress: disable the Grid for nowHubert Figuière
So that the grid isn't shown in the thumbnail. This will need to be reverted later for cool#7406 Change-Id: I01fbc7ebc9e33a27fb866b7ea6dbaaac68ae8f9b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167872 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-20lok: join Webdav Ticker thread.Michael Meeks
Add 'startThreads' lok method for the few thread scenarios where we need to have a background thread running that cannot be started opportunistically. Also add that to the ThreadJoinable interface so we can get into UNO components' implementations to handle their worker threads easily. Implement joining and re-starting in WebDAV ucp too. Change-Id: I329ef9decb32b263197e4c03a0d54952985fdd0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167858 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-20lok: joinThreads - take down configmgr's write-thread.Michael Meeks
Change-Id: I1f9b6b88ef7e97da02fecf2035f953584cd28c16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167868 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-20sw: add update button to a11y check sidebar when using LOKitTomaž Vajngerl
Running the a11y check when the sidebar gets enable takes some time, because populating the widgets is quite expensive. Instead of running the check right away, add a "update" button to the sidebar, that needs to be clicked first to start running the accessibility check. This does not check the behavior of the sidebar in desktop LibreOffice. Also change the populate call to be async, which helps a bit to make the UI interaction more fluent, but doesn't fix the issue. Change-Id: Ia04f4a5fbae952035c1b8d4d7c56211e061d8251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167855 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-18lok: stop amazing waste of repeated font sizes in each font element.Michael Meeks
These days all sensible fonts are scalable, so anything else is madness. With the compact_fonts option we go from: INCOMING: commandvalues: {"commandName":".uno:CharFontName","commandValues": {"Albany AMT":["6","7","8","9","10","10.5","11","12","13","14","15","16", "18","20","21","22","24","26","28","32","36","40","42","44","48","54", "60","66","72","80","88","96"],"Amiri":["6","7" <truncated 58,418 chars> INCOMING: commandvalues: { "commandName": ".uno:CharFontName", "FontNames": [ "Albany AMT", "Amiri", "Amiri Quran", "Amiri Quran Colored", "Andale Mono", "Andale Sans", "Andy MT", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", "Arial", <truncated 6,948 chars> An 8x size win. Change-Id: I3dc9f5de876def6e4afc09a43105b1740f7c621f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167799 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-17lok: stop amazing waste of pretty-printed JSON sent over the API.Michael Meeks
before: INCOMING: commandvalues: { "commandName": ".uno:CharFontName", "commandValues": { "Albany AMT": [ "6", "7", "8", "9", "10", "10.5", "11", "12", <truncated 199,811 chars> after: INCOMING: commandvalues: {"commandName":".uno:CharFontName","commandValues": {"Albany AMT":["6","7","8","9","10","10.5","11","12","13","14","15","16", "18","20","21","22","24","26","28","32","36","40","42","44","48","54", "60","66","72","80","88","96"],"Amiri":["6","7" <truncated 58,418 chars> A 3x size saving. Change-Id: I574b8bdf790078c61b7605137a47a531dee16f1e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167789 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-17tdf#161019 tdf#159846 spreadsheet border renderingNoel Grandin
regression from commit e27d4cc31e04be4c47b5085dfa2363ee45457e8a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Jun 19 12:23:55 2023 +0200 tdf#150534 reduce the memory consumption of cells when calculating Change-Id: Id8b52a3a0880bbb6a7aff28f55bcd57cb1cae048 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167617 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 6f8a73a379d97829080367b21d54f9b5fab781c9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167682 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-17tdf#160952 sw: ignore top margin only at page top, not in flyMiklos Vajna
See <https://gerrit.libreoffice.org/c/core/+/167671/2#message-8603b129dd8bd72608259571056ded950182ca96>, multi-column shape text can't appear in DOCX files, so collapsing upper spacing in that case is not correct, avoid it. Change-Id: Icf69c8d84fdd15d6e3289ff614b2f6ba7cee1e0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167758 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit b969e692000f50aafacc2eb577f545b8836dcc26) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167683 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-05-17tdf#161035: The previous bookmarks can legitimately be not processedMike Kaganski
The enumeration may be called for a partial paragraph selection, and then the bookmarks prior to the selection are not processed. Change-Id: Ib725ffb320ec5a81b39ce77f06392a82bd6d8ee0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167720 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167754 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-17Fix UBSan failure (part 2)Xisco Fauli
Introduced by 495b5db74f0db59395ff68bacc8d8ca67595b66e "sw: check GetUserCall" https: //gerrit.libreoffice.org/c/core/+/166824/comments/8db24a41_2f4e7e4e Change-Id: Ib6f981aa3055f0d37d0b83e3284842d310fe6ef0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166913 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167002 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-17Fix UBSan failureXisco Fauli
Introduced by 495b5db74f0db59395ff68bacc8d8ca67595b66e "sw: check GetUserCall" https://ci.libreoffice.org/job/lo_ubsan/3154/consoleFull#-1571115798d893063f-7f3d-4b7e-b56f-4e0f225817cd Change-Id: Ifc80312890f2e6b82dcc9419b5b7e8bfcd5340a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166824 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167001 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-17sw: check GetUserCallXisco Fauli
It might return nullptr See https://crashreport.libreoffice.org/stats/signature/SwFEShell::ShouldObjectBeSelected(Point%20const%20&) Change-Id: Ia0ed355a7eb9084b9f57163ffbfe6b549c8bdb3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166642 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 495b5db74f0db59395ff68bacc8d8ca67595b66e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166710 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-17tdf#153306 prevent subpixel shifting of X coordinatePatrick Luby
HACK: for some unknown reason, if the X coordinate of the path's bounds is more than 1024, SkBlendMode::kExclusion will shift by about a half a pixel to the right with Skia/Metal on a Retina display. Weirdly, if the same polygon is repeatedly drawn, the total shift is cumulative so if the drawn polygon is more than a few pixels wide, the blinking cursor in Writer will exhibit this bug but only for one thin vertical slice at a time. Apparently, shifting drawing a very tiny amount to the left seems to be enough to quell this runaway cumulative X coordinate shift. Change-Id: Ic1ac8a390df51c4aa1cc3183590dce72059af6b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166766 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 05d3a99aa687ee4e1706f9403651379b7ebdad89) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166722 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-05-17tdf#160906 use SfxPoolItemHolderArmin Le Grand (allotropia)
to avoid handling already deleted SfxPoolItems. Change-Id: I1f1f8f93cae8db7f7c8df66c2c7f3c02b59a39c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167274 Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167376 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-05-17tdf#161073 handle is supposed to be freed automatically on failureCaolán McNamara
and is since: https://gitlab.gnome.org/GNOME/glib/-/commit/747e3af9987b37847d7d5acbf882d1ee4a6bd91b Change-Id: Ibb648ccf69ff892fc1e2a3c3dc4da1fffd577c92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167468 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-17Resolves: tdf#160985 Max integer representation for rtl_math_StringFormat_GEike Rathke
Same as for rtl_math_StringFormat_Automatic we want to preserve the highest accuracy of integer values also with rtl_math_StringFormat_G if nDecPlaces is large enough, instead of possibly rounding into 15 digits. This occurred with FastSaxSerializer::write(double) but rtl::OString::number(double) and rtl::OUString::number(double) and rtl_math_doubleToString() and rtl::str::valueOfFP() and rtl_str_valueOfDouble() and all places calling with rtl_math_StringFormat_G are similar affected. Question might remain why those places use rtl_math_StringFormat_G with fixed nDecimalPlaces calculated from RTL_STR_MAX_VALUEOFDOUBLE - SAL_N_ELEMENTS("-x.E-xxx") + 1 instead of rtl_math_StringFormat_Automatic with rtl_math_DecimalPlaces_Max. Change-Id: Ib388b119faed441c9020dca803649a4089da5b07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167647 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 1ea85e8f2d815e6c0834215714ed3dad1101b971) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167673 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-17tdf#160690 set an opaque alpha mask for non-transparent framesPatrick Luby
Due to the switch from transparency to alpha in commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, an empty alpha mask is treated as a completely transparent bitmap. So revert all of the previous commits for tdf#157576, tdf#157635, and tdf#157793 and create a completely opaque bitmap instead. Note: this fix also fixes tdf#157576, tdf#157635, and tdf#157793. Change-Id: Ic2ccad6ab94e4d43b1b66013f85955d474dc0151 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167563 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Tested-by: Jenkins (cherry picked from commit 2a9eb581f0edfae8123018006df5cc9de1e1fd45) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167674 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>