summaryrefslogtreecommitdiff
path: root/svl
AgeCommit message (Collapse)Author
2025-01-29tdf#164900 table text in different columns no longer lined upNoel Grandin
Revert "tdf#161846 use unordered_map in SfxItemPropertyMap" This reverts commit c39978f41dccbeb2e973c919a67d9b1d974f8f3c. Change-Id: I26cadb32b426fd3b48179b67c677213a78b4999c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180903 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-01-27enable spotlight subset in kit modeCaolán McNamara
Use the index of the style within the list of writer's instantiated styles as the indicator number to use, so this is stable regardless of what particular mode the style dialog/panel is using. Unused styles don't get a number indicator, but do have a (stable) color until they are used in the document. For kit, Para/Char style mode renders all styles, not just the subset selected in the style dialog/panel, when Para/Char spotlight is enabled. Change-Id: I513e4a676a7c4f7f542c016afa5a79d158778210 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178481 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit e5eec842b0c61c9c91a8f836661d6885c9c236a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180768 Tested-by: Jenkins
2025-01-22tdf#163228 Enable vertical text options for Mongolian scriptJonathan Clark
Previously, vertical text direction options were enabled if and only if CJK language support is enabled. This change extends the logic to also enable vertical text direction options if the CTL language is set to Mongolian Mongolian. Change-Id: I4e3738b4dea755c26c786cc233aff8786146e90b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180604 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-01-20remove code duplication - conversion hex char to valueTomaž Vajngerl
We use the same funciton all over the place, so create a common function in o3tl and use that in all instances where we duplicated the code. Change-Id: I74091fbbde8c2ba8c7e4ab30194ab53e2a338e52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180372 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-01-16cool#10630 doc electronic sign: move signature line tracking to the viewMiklos Vajna
No functional changes intended: - Replace SfxObjectShell::GetSignPDFCertificate() and SfxObjectShell::ResetSignPDFCertificate() with SfxViewShell::SetSignPDFCertificate() and SfxViewShell::GetSignPDFCertificate(), because information about shape selection belongs to the view. - Change svx::SignatureLineHelper::setShapeCertificate() to use SfxViewShell::SetSignPDFCertificate() to avoid duplication. - Change GetSignatureLineShape() in xmlsecurity/ to use SfxViewShell::GetSignPDFCertificate(), again to avoid duplication. With this, all setters/getters of the inserted signature line go via SfxViewShell and the amount of getCurrentSelection() calls on the model is reduced. Change-Id: I021bc41262b2a16d1014fbf1431a0eb6e1e86c73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180355 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2025-01-15cool#10630 doc electronic sign: fix no graphic selection for the signature lineMiklos Vajna
Insert a signature line in "extern" mode, the shape gets selected but there is no graphic selection at a LOK API level. This is because GetSignPDFCertificate() returned an XCertificate, which is empty in the external signing case, so we can't differentiate between no signing and external signing. Fix this by changing the return type to svl::crypto::CertificateOrName, this way SdrMarkView::SetMarkHandlesForLOKit() can annotate the signature line correctly even in the external signing case. The tracking of the signature line selection is still in the model (not in the view), that's not yet fixed here. Change-Id: I4ef9c1fa0a88af0c0fcd55156b973a3705f985c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180296 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2025-01-15Simplify a bitMike Kaganski
Change-Id: I808db67b749a5e36da63cf791d43cb31d7408876 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180263 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2025-01-15SfxListener::RemoveBroadcaster_Impl must handle duplicatesMike Kaganski
SfxListener::StartListening explicitly allows duplicates. RemoveBroadcaster_Impl should be safe in that regard; use std::erase to remove all occurrences of the broadcaster. Change-Id: Icc4d1d12c450a0893e9e4da429120f32388b35fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180262 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-01-10ITEM: Refactor ItemTypeArmin Le Grand (Collabora)
ItemType is useful and faster than RTTI. Until now it was implemented by a 16-bit member in the base class, plus (potentially) all constructors having to hand a value in at item construction type (of type SfxItemType) to get that member set correctly. This works, but there is no reliable way to guarantee coverage, and there have already been cases with missing SfxItemType - these fallback to '0' and thus all Items with ItemType() == 0 are assumed equal and might be static_cast'ed to the wrong classes. Note that I identified *35* Items that had no correct ItemType set/implemented actually. It also uses 16-bit per incarnated Item at runtime. I thought and realized now a more systematic approach to do that with a pure virtual function at the Item itself. That can also be secured by a clang compiler plugin in the future to keep it working. It uses one virtual function per derived class, no longer space in incarnated Items. Also the constructors will get more simple again. But the main aspect is security - we cannot afford Items potentially being held as equal if they are not. Unfortunately C++ does not offer something like a 'strict pure virtual function' that would force to be overloaded in every derivation, but the used methotology and adding a clang test is reasonably safe. Have now done the cleanup of previous method. Change-Id: I04768285f1e9b73d64b0bb87df401944b5d35678 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180017 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-12-27tdf#158237: Use C++20 contains() instead of find() and end()Johann
Change-Id: I0528229042aa62d3d99e8dbaad68a86d41cf369a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178659 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins
2024-12-09Resolves: tdf#164239 Can force Y-M-D to ISO 8601 if no date acceptance patternEike Rathke
... was matched at all, even for a-b-c with MDY a<=12 or DMY a<=31. Change-Id: Ie2d62c73c91794a96114b787d6ad2357c7affb2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178171 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2024-12-09Silence -Werror,-Wunused-private-fieldStephan Bergmann
...with !USE_CRYPTO_ANY (e.g., Android) Change-Id: I139aceeea085420dd3ec31ced25b66a1671dc7ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178130 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-12-09Simplify InteractionContinuation and derivativesMike Kaganski
Change-Id: Ib7294cc09255f7563ae14488ab7fb56d02092dc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178117 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-06Resolves: tdf#164124 Do not trap incomplete date 2021-6/1 as fractionEike Rathke
In fact do not accept anything else than blanks after integer portion for a fraction. Change-Id: I29746bb7cd78ecc6a7810e8841bee748589a36e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177899 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2024-11-28PVS: V612 An unconditional 'return' within a loopXisco Fauli
Change-Id: Id7f54dd27a33cb4979e4d2594002ace25e65b34f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177441 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-21cid#1634867 Using a moved objectCaolán McNamara
since: commit 193207c5abf339253e15b59f398da0c1f6f43bee CommitDate: Tue Nov 19 07:46:25 2024 +0100 improve loplugin passparamsbyref Change-Id: Ib2dfa03dfe66630ddb902ea4e75338ca70857e90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176899 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-19improve loplugin passparamsbyrefNoel Grandin
I think I managed to disable this when I converted it to use the shared plugin infrastructure. So fix that, and then make it much smarter to avoid various false positives. Change-Id: I0a4657cff3b40a00434924bf764d024dbfd7d5b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-15cool#9992 lok doc sign: add initial serialization of external signaturesMiklos Vajna
Now that the hash extract part works, the other end of this external signature support is to be able to integrate an externally generated (e.g. qualified) signature into our PDF file. The problem is that we have SignDocumentContentUsingCertificate() for non-interactive signing and we have the interactive sign dialog, but we have no way to integrate an existing PKCS#7 blob. Fix the problem by extending vcl::filter::PDFDocument::Sign(): if a signature value is provided, then integrate that, instead of calling svl::crypto::Signing::Sign() to generate a new signature. Also extend the SigningContext documentation, since now it has 3 modes (normal sign, hash extract, sign serialize). Change-Id: I113fb536b1a83b8a4869a7064bb415bca6a91ae4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176623 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-11-14cid#1634808 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I7209b869abb1133d27271979b1e6c06fa50f7ecb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176571 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-13tdf#163486: PVS: variable is used after being declaredXisco Fauli
V614 The 'pReturn' smart pointer is utilized immediately after being declared or reset. It is suspicious that no value was assigned to it. V614 The 'pReturn' smart pointer is utilized immediately after being declared or reset. It is suspicious that no value was assigned to it. Change-Id: Ic84af8c395c4b3f86017eb83be17a6fbd628e5d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176553 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-12loplugin:reftotemp in sot..svlNoel Grandin
Change-Id: I4c15b3443f411e81eaf7ea0e8c98e8728ab4ca02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176482 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-12cool#9992 lok doc sign, hash extract: digest for getCommandValues('Signature')Miklos Vajna
To be able to sign externally, we need a way to know what is the document hash that would be passed to NSS_CMSSignedData_SetDigestValue(), without actually performing the signing. Note that svl::crypto::SigningContext already gives us a way to expose the time that would be used for signing. Expose the hash in a similar way: the format is a SHA-256 hash in base64 form. This adapts both places dealing with time: vcl::PDFWriter::GetDateTime() and svl::crypto::Signing::Sign, to make sure they use the same time, otherwise the hash would potentially depend on two times, which would be hard to reproduce later when we serialize the signature we get. Change-Id: Ib039db4cdd043c8117215c31cb5bc83397693820 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176470 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-11-11cool#9992 lok doc sign, hash extract: time for getCommandValues('Signature')Miklos Vajna
The final goal of this API is to give time & hash information about the PDF signature, so once a 3rd-party produces the PKCS#7 signature, that can be added to the document and the actual PDF sign can be re-run with the same parameters. This commit continues the replacement of XCertificate with svl::crypto::SigningContext up to the point that the timestamp used in svl/ can be exposed on the LOK API. This is done by updating DocumentSignatureManager::add(), PDFSignatureHelper::SetX509Certificate(), vcl::filter::PDFDocument::Sign() and finally the svl::crypto::Signing ctor to work with the signing context instead of an XCertificate directly. Time reporting works now, so add a test for that. The digest part still needs doing. Change-Id: I83f1274cd420b67194b7caf12b1027e623d4f7fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176404 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-11-11tdf#163486: PVS: argument name is the same as one class memberXisco Fauli
V688 The 'nNegativeFormat' function argument possesses the same name as one of the class members, which can result in a confusion. Change-Id: Ia558367b2325820f1cdeedcd92a7a0e663cf9f15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176402 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-10tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 999, 1003 V1037 Two or more case-branches perform the same actions. Check lines: 1557, 1566, 1595 V1037 Two or more case-branches perform the same actions. Check lines: 2593, 2689 Change-Id: I0a3ab375e9e8c72802615108948c96808a2ec0b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175208 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-11-08no need to take a copy of the getProcessComponentContext return valueNoel Grandin
we can just take a "const &". (found by running clang-tidy with the performance-unnecessary-copy-initialization warning) Change-Id: I20fd208c65303da78170b1ac06c638fdf3aa094b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176267 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-11-06cid#1556442 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1607753 COPY_INSTEAD_OF_MOVE cid#1554790 COPY_INSTEAD_OF_MOVE cid#1556463 COPY_INSTEAD_OF_MOVE cid#1554838 COPY_INSTEAD_OF_MOVE cid#1556231 COPY_INSTEAD_OF_MOVE cid#1556878 COPY_INSTEAD_OF_MOVE cid#1554913 COPY_INSTEAD_OF_MOVE cid#1558064 COPY_INSTEAD_OF_MOVE cid#1557043 COPY_INSTEAD_OF_MOVE cid#1556985 COPY_INSTEAD_OF_MOVE cid#1556766 COPY_INSTEAD_OF_MOVE cid#1557351 COPY_INSTEAD_OF_MOVE cid#1554863 COPY_INSTEAD_OF_MOVE cid#1556764 COPY_INSTEAD_OF_MOVE cid#1556279 COPY_INSTEAD_OF_MOVE cid#1555970 COPY_INSTEAD_OF_MOVE cid#1556942 COPY_INSTEAD_OF_MOVE cid#1557964 COPY_INSTEAD_OF_MOVE cid#1555166 COPY_INSTEAD_OF_MOVE cid#1556496 COPY_INSTEAD_OF_MOVE cid#1557175 COPY_INSTEAD_OF_MOVE cid#1558054 COPY_INSTEAD_OF_MOVE cid#1557392 COPY_INSTEAD_OF_MOVE cid#1557850 COPY_INSTEAD_OF_MOVE cid#1555118 COPY_INSTEAD_OF_MOVE cid#1557131 COPY_INSTEAD_OF_MOVE cid#1556614 COPY_INSTEAD_OF_MOVE cid#1609650 COPY_INSTEAD_OF_MOVE cid#1555114 COPY_INSTEAD_OF_MOVE cid#1555241 COPY_INSTEAD_OF_MOVE cid#1555442 COPY_INSTEAD_OF_MOVE cid#1556473 COPY_INSTEAD_OF_MOVE cid#1557654 COPY_INSTEAD_OF_MOVE cid#1554689 COPY_INSTEAD_OF_MOVE cid#1556316 COPY_INSTEAD_OF_MOVE cid#1557929 COPY_INSTEAD_OF_MOVE cid#1554807 COPY_INSTEAD_OF_MOVE cid#1554858 COPY_INSTEAD_OF_MOVE cid#1555103 COPY_INSTEAD_OF_MOVE cid#1555517 COPY_INSTEAD_OF_MOVE cid#1556424 COPY_INSTEAD_OF_MOVE cid#1557252 COPY_INSTEAD_OF_MOVE cid#1557566 COPY_INSTEAD_OF_MOVE cid#1608020 COPY_INSTEAD_OF_MOVE cid#1557742 COPY_INSTEAD_OF_MOVE cid#1555884 COPY_INSTEAD_OF_MOVE cid#1554809 COPY_INSTEAD_OF_MOVE cid#1555336 COPY_INSTEAD_OF_MOVE cid#1555173 COPY_INSTEAD_OF_MOVE cid#1556067 COPY_INSTEAD_OF_MOVE cid#1557040 COPY_INSTEAD_OF_MOVE cid#1556235 COPY_INSTEAD_OF_MOVE cid#1557366 COPY_INSTEAD_OF_MOVE cid#1555910 COPY_INSTEAD_OF_MOVE cid#1556716 COPY_INSTEAD_OF_MOVE cid#1558022 COPY_INSTEAD_OF_MOVE cid#1555769 COPY_INSTEAD_OF_MOVE cid#1555940 COPY_INSTEAD_OF_MOVE cid#1557077 COPY_INSTEAD_OF_MOVE cid#1555270 COPY_INSTEAD_OF_MOVE cid#1555660 COPY_INSTEAD_OF_MOVE cid#1556302 COPY_INSTEAD_OF_MOVE cid#1555678 COPY_INSTEAD_OF_MOVE cid#1556538 COPY_INSTEAD_OF_MOVE cid#1557689 COPY_INSTEAD_OF_MOVE cid#1555009 COPY_INSTEAD_OF_MOVE cid#1555433 COPY_INSTEAD_OF_MOVE cid#1555671 COPY_INSTEAD_OF_MOVE cid#1555255 COPY_INSTEAD_OF_MOVE cid#1557681 COPY_INSTEAD_OF_MOVE cid#1557512 COPY_INSTEAD_OF_MOVE cid#1554958 COPY_INSTEAD_OF_MOVE cid#1555758 COPY_INSTEAD_OF_MOVE cid#1555597 COPY_INSTEAD_OF_MOVE cid#1558040 COPY_INSTEAD_OF_MOVE cid#1556476 COPY_INSTEAD_OF_MOVE cid#1557646 COPY_INSTEAD_OF_MOVE cid#1557950 COPY_INSTEAD_OF_MOVE cid#1557019 COPY_INSTEAD_OF_MOVE cid#1557885 COPY_INSTEAD_OF_MOVE cid#1556402 COPY_INSTEAD_OF_MOVE cid#1557906 COPY_INSTEAD_OF_MOVE cid#1556619 COPY_INSTEAD_OF_MOVE cid#1554683 COPY_INSTEAD_OF_MOVE cid#1556549 COPY_INSTEAD_OF_MOVE cid#1554747 COPY_INSTEAD_OF_MOVE cid#1554929 COPY_INSTEAD_OF_MOVE cid#1555362 COPY_INSTEAD_OF_MOVE cid#1557053 COPY_INSTEAD_OF_MOVE cid#1557891 COPY_INSTEAD_OF_MOVE cid#1555043 COPY_INSTEAD_OF_MOVE cid#1555107 COPY_INSTEAD_OF_MOVE cid#1557203 COPY_INSTEAD_OF_MOVE cid#1556728 COPY_INSTEAD_OF_MOVE cid#1557773 COPY_INSTEAD_OF_MOVE cid#1556845 COPY_INSTEAD_OF_MOVE Change-Id: I001fb67e597b096e992fd8a0cd6f3ec577767c33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176098 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-11-06loplugin:passstuffbyref in svlNoel Grandin
Change-Id: Ibc4628941b40159aa35a0a55900efb3dd882369e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176056 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-04new loplugin:staticconstexprNoel Grandin
Change-Id: Ida1996dfffa106bf95fd064e8191b8033b4002f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-02tdf#145538 Range based for loop cannot be used in SfxBroadcaster.cxxAdesola Samuel
The loops in this file cannot be range-based because vectors can change size inside the loop. Change-Id: I0f3d3d768b69bb280962541a237f5ec02874dbdc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175866 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-31tdf#162666 Make SfxStateCache handle Items correctlyArmin Le Grand (allotropia)
SfxStateCache had problems processing the extra Item states disabled/invalid. Note that due to not using a Pool here it is not possible to use an ItemSet or an ItemHolder, those would automatically handle these cases correctly. In this cache, this currently needs to be done handish. Also note that because of that this may break again when changes in the Item/ItemSet/ItemHolder mechanism may be done. Change-Id: I007bc25c727e6432062fa0d2af8215a912cb2fff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175871 Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> Tested-by: Jenkins
2024-10-27cid#1555789 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556865 COPY_INSTEAD_OF_MOVE cid#1556871 COPY_INSTEAD_OF_MOVE cid#1556939 COPY_INSTEAD_OF_MOVE cid#1556951 COPY_INSTEAD_OF_MOVE cid#1556964 COPY_INSTEAD_OF_MOVE cid#1556966 COPY_INSTEAD_OF_MOVE cid#1556968 COPY_INSTEAD_OF_MOVE cid#1556971 COPY_INSTEAD_OF_MOVE cid#1556989 COPY_INSTEAD_OF_MOVE cid#1557001 COPY_INSTEAD_OF_MOVE cid#1557011 COPY_INSTEAD_OF_MOVE cid#1557032 COPY_INSTEAD_OF_MOVE cid#1557038 COPY_INSTEAD_OF_MOVE cid#1557041 COPY_INSTEAD_OF_MOVE cid#1557055 COPY_INSTEAD_OF_MOVE cid#1557056 COPY_INSTEAD_OF_MOVE cid#1557057 COPY_INSTEAD_OF_MOVE cid#1557065 COPY_INSTEAD_OF_MOVE cid#1557068 COPY_INSTEAD_OF_MOVE cid#1557087 COPY_INSTEAD_OF_MOVE cid#1557090 COPY_INSTEAD_OF_MOVE cid#1557093 COPY_INSTEAD_OF_MOVE cid#1557113 COPY_INSTEAD_OF_MOVE cid#1557122 COPY_INSTEAD_OF_MOVE cid#1557126 COPY_INSTEAD_OF_MOVE cid#1557145 COPY_INSTEAD_OF_MOVE cid#1557151 COPY_INSTEAD_OF_MOVE cid#1557152 COPY_INSTEAD_OF_MOVE cid#1557197 COPY_INSTEAD_OF_MOVE cid#1557216 COPY_INSTEAD_OF_MOVE cid#1557245 COPY_INSTEAD_OF_MOVE cid#1557272 COPY_INSTEAD_OF_MOVE cid#1557310 COPY_INSTEAD_OF_MOVE cid#1557314 COPY_INSTEAD_OF_MOVE cid#1557318 COPY_INSTEAD_OF_MOVE cid#1557333 COPY_INSTEAD_OF_MOVE cid#1557340 COPY_INSTEAD_OF_MOVE cid#1557358 COPY_INSTEAD_OF_MOVE cid#1557359 COPY_INSTEAD_OF_MOVE cid#1557365 COPY_INSTEAD_OF_MOVE cid#1557367 COPY_INSTEAD_OF_MOVE cid#1557395 COPY_INSTEAD_OF_MOVE cid#1557418 COPY_INSTEAD_OF_MOVE cid#1557488 COPY_INSTEAD_OF_MOVE cid#1557493 COPY_INSTEAD_OF_MOVE cid#1557506 COPY_INSTEAD_OF_MOVE cid#1557514 COPY_INSTEAD_OF_MOVE cid#1557528 COPY_INSTEAD_OF_MOVE cid#1557534 COPY_INSTEAD_OF_MOVE cid#1557537 COPY_INSTEAD_OF_MOVE cid#1557562 COPY_INSTEAD_OF_MOVE cid#1557563 COPY_INSTEAD_OF_MOVE cid#1557592 COPY_INSTEAD_OF_MOVE cid#1557608 COPY_INSTEAD_OF_MOVE cid#1557615 COPY_INSTEAD_OF_MOVE cid#1557619 COPY_INSTEAD_OF_MOVE cid#1557637 COPY_INSTEAD_OF_MOVE cid#1557648 COPY_INSTEAD_OF_MOVE cid#1557712 COPY_INSTEAD_OF_MOVE cid#1557750 COPY_INSTEAD_OF_MOVE cid#1557762 COPY_INSTEAD_OF_MOVE cid#1557765 COPY_INSTEAD_OF_MOVE Change-Id: I10db1910627e04a26e25836c05ad5c2707abd18b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175696 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-25speedup saving large XLS file with lots of query formula(2)Noel Grandin
reduce cost of OUString construction by avoiding initialising a temporary and then overwriting it. 12s to 10s Change-Id: I889152ba71947004ca7d5c96f073182c94d95ed5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175539 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-24tdf#157130 undo and track changes not restoring characters (macOS)Noel Grandin
Not sure about the real underlying issue here. In debug mode, we hit this assert. Changing it from an assert to a "do decrement mnEmptyMark if it would become negative" seems to help. Change-Id: Ie23a685552d2f8153b67e18f9c0203ecbaad0ede Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174905 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-22cid#1555259 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555264 COPY_INSTEAD_OF_MOVE cid#1555280 COPY_INSTEAD_OF_MOVE cid#1555303 COPY_INSTEAD_OF_MOVE cid#1555313 COPY_INSTEAD_OF_MOVE cid#1555314 COPY_INSTEAD_OF_MOVE cid#1555323 COPY_INSTEAD_OF_MOVE cid#1555333 COPY_INSTEAD_OF_MOVE cid#1555338 COPY_INSTEAD_OF_MOVE cid#1555349 COPY_INSTEAD_OF_MOVE cid#1555364 COPY_INSTEAD_OF_MOVE cid#1555379 COPY_INSTEAD_OF_MOVE cid#1555398 COPY_INSTEAD_OF_MOVE cid#1555410 COPY_INSTEAD_OF_MOVE cid#1555411 COPY_INSTEAD_OF_MOVE cid#1555416 COPY_INSTEAD_OF_MOVE cid#1555429 COPY_INSTEAD_OF_MOVE cid#1555434 COPY_INSTEAD_OF_MOVE cid#1555441 COPY_INSTEAD_OF_MOVE cid#1555446 COPY_INSTEAD_OF_MOVE cid#1555480 COPY_INSTEAD_OF_MOVE cid#1555490 COPY_INSTEAD_OF_MOVE cid#1555524 COPY_INSTEAD_OF_MOVE cid#1555527 COPY_INSTEAD_OF_MOVE cid#1555531 COPY_INSTEAD_OF_MOVE cid#1555578 COPY_INSTEAD_OF_MOVE cid#1555581 COPY_INSTEAD_OF_MOVE cid#1555591 COPY_INSTEAD_OF_MOVE cid#1555614 COPY_INSTEAD_OF_MOVE cid#1555619 COPY_INSTEAD_OF_MOVE cid#1555633 COPY_INSTEAD_OF_MOVE cid#1555654 COPY_INSTEAD_OF_MOVE cid#1555707 COPY_INSTEAD_OF_MOVE cid#1555712 COPY_INSTEAD_OF_MOVE cid#1555746 COPY_INSTEAD_OF_MOVE cid#1555763 COPY_INSTEAD_OF_MOVE Change-Id: Ibcc1a3649c5663328e60474c06e51902aa74db52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175407 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-22set stylesheet parent at creation timeNoel Grandin
avoids a bunch of broadcasting. a similar mega-master-page scenario as reported in tdf#158773 9.1 - 7.0s Some re-ordering of SVG output occurs, which means tweaking some unit tests. Change-Id: I447a4639a96c12c627a074f7e0f1ede8b3cbaf72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175299 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-21drop StyleSheetCreatedNoel Grandin
the only place that references it, effectively ignores it. I cant find anything that really uses it, as far back in the git history as commit 59bb5ba445352f88e3ac2d00a5dc3f9bb872326a Author: Vladimir Glazounov <vg@openoffice.org> Date: Wed Apr 11 18:36:28 2007 +0000 INTEGRATION: CWS hedaburemove01 (1.1.2); FILE ADDED when it was introduced. Removing this removes a bunch of expensive broadcast operations. a similar mega-master-page scenario as reported in tdf#158773 20s -> 17s Change-Id: I84ee269aa0ea96e9f77601b01d4795edd3294044 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175175 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-14tdf#100894 reduce time spent iterating stylesNoel Grandin
Small difference, but an easy optimisation Change-Id: Ic5aeb759fb64af378a6cfcd83977d917be1b9a8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174888 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-05cid#1556892 Data race conditionNoel Grandin
Change-Id: I69e3148fc01378a5cea5f23aa992658db3997edc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-09-18cid#1607355 silence Overflowed constantCaolán McNamara
and cid#1607426 Overflowed constant cid#1608151 Overflowed constant cid#1608163 Overflowed constant cid#1608208 Overflowed constant cid#1608228 Overflowed constant cid#1608299 Overflowed constant cid#1608549 Overflowed constant cid#1607982 Overflowed constant cid#1608078 Overflowed return value Change-Id: Id4ccc03b610f4dcf7912c239c7c079da1aef4ba2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173615 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-17cid#1608367 silence Overflowed return valueCaolán McNamara
Change-Id: If60d9607678ac9193923cad63895d654b8283ae4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173522 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-13ITEM: adapt SfxPoolItemHolder::operator=Armin Le Grand (allotropia)
I formally tried to avoid un/re-register if Item needs surrogate support, but there are more aspects to this, e.g. the pool could be different or even the WhichID of the Item, so just do the necessary here. These cases are also not too often used. Change-Id: I8d1e8854f5ce3cac5566c076797162ba2e4b4b75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173329 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-09-11use more concrete UNO type in svlNoel Grandin
Change-Id: I794fba1f111709e0469812d48eb81cc4dc1f11d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173195 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-09-06Deduplicate some codeMike Kaganski
Change-Id: Ic095e3665c98752493d1b47aa6962e87a3d1e319 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172903 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-06tdf#161741 undo nits: NeedsClearRedo is private + prioritize TopLevelJustin Luth
moNeedsClearRedo is an implementation detail, so there should not be public functions for it. Plus, NeedsClearRedo can be called either against the CurrentLevel stack or the TopLevel stack (whatever that implies - there is no documentation...) and since it is a delayed call that means that multiple NeedsClearRedo attempts could be made, theoretically against both stacks. My initial implementation was "last one wins", (which may very well prove to be the best one) but whatever happens, it should be clearly intentional. Based on my limited skill at code reading, it sounds like CurrentLevel might be more of an implemention detail or a temporary expansion of a ListUndoAction, so I am guessing that any request for TopLevel clearing should be given priority. For Writer, it is always clearing the TopLevel stack sw/source/core/undo/docundo.cxx: ClearRedo() return SdrUndoManager::ImplClearRedo_NoLock(TopLevel); Change-Id: I195aefb696599f018712135a2e015549d534791f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171984 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Justin Luth <jluth@mail.com>
2024-09-04Fix signature hash on NSS backendEloi Montañés
When using the NSS backend, the SignedAttributes were added after the hash computation for the timestamp request, altering the final signature and rendering the timestamp unverifiable. This patch changes the order in which the attributes are added and uses a copy of the signer for the hash computation in order to generate a correct hash. Change-Id: I14cecf1819e80d7a2e470e0f1dee2d09bcbe852c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171384 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-31cid#1607947 silence Overflowed array index writeCaolán McNamara
Change-Id: I35b8db34e722e700df2771da99d76d42fe2cada6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172640 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-27tdf#158556 prevent lambda from allocating on heapNoel Grandin
bit of a hack Change-Id: Icf60fc1bc69e8c44e5612c05469164439f14a249 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172465 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-26tdf#158556 simplify StylePool APINoel Grandin
StylePool is only used inside writer, and only in very limited ways. Rather move the logic for the limits functions inside StylePool so I can then reduce the complexity of the iterator. Change-Id: I12bc5965b74abace28ae9190b35661a34f5005be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172371 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-23tdf#158556 make SfxGrabBagItem hashableNoel Grandin
Change-Id: I0af373e9c5c93a82eb37437ac365677700d45853 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172311 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins