summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2023-11-16curl: mitigate migration to OpenSSL on LinuxMichael Stahl1-0/+59
The problem is that curl 8.3.0 removed the NSS backend, so we now have no other choice than to use the bundled OpenSSL on Linux. Currently any curl https connection fails with: CurlSession.cxx:963: curl_easy_perform failed: (60) SSL certificate problem: unable to get local issuer certificate Apparently this requires manually telling curl which CA certificates to trust; there is a configure flag --with-ca-bundle but that is useless as it tries to load the file relative to whatever is the current working directory, and also did i mention that there are at least 3 different locations where a Linux system may store its system trusted CA certificates because ALL ABOUT CHOICE. So add a new header with an init function to try out various file locations listed in this nice blog article and call it from way too many places that independently use curl. https://www.happyassassin.net/posts/2015/01/12/a-note-about-ssltls-trusted-certificate-stores-and-platforms/ TODO: perhaps bundle a cacert.pem as a fallback in case the system chose to innovate by putting its certificates in yet another unexpected place (regression from commit c2930ebff82c4f7ffe8377ab82627131f8544226) Change-Id: Ibf1cc0069bc2ae011ecead9a4c2b455e94b01241 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158915 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 3fc632c0261c75fb4079a5305e814698e791f75c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159035 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit f5ce7ad845c00af284065bb6691d38b62deb91d8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159241 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-16add some protocols that don't make sense as floating frame targetsCaolán McNamara1-0/+5
Change-Id: Id900a5eef248731d1184c1df501a2cf7a2de7eb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158910 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 11ebdfef16501c6d35c3e3d0d62507f706557c71) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158900 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit bab433911bdecb344f7ea94dbd00690241a08c54) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159048 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-02tdf#157679: Revert "pptx: import shape text from master page"Xisco Fauli1-3/+0
This reverts commit ae3b97a69688553e6c40ef4b64655db09d5a0f5e. Change-Id: I39fd84b5efbff0a2cafe090f4f866c801cef19b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158357 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 3b37c5fa7dce7718b566ad4f4fe80191b64cd533) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158544
2023-11-01tdf#155512: oox: ppt: fix import master slides, follow upHenry Castro1-4/+4
Import all master slides. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Ieac68bacf15c75e4c23ec692aadcb16033cdd092 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157701 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158716 Tested-by: Jenkins (cherry picked from commit b835bcfad2290c37c60d2fab0f276ab57aef56c1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158697
2023-10-31sc: qa: add loadWithParams and SaveWithParamsHenry Castro1-0/+3
Add option to load and save with optional parameters. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I2d735443da11634d072742f1bf6f38f90bced2c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157141 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157569 Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158527
2023-10-30tdf#156593 FILEOPEN OOXML: image shown in full instead of croppedBalazs Varga1-1/+2
Revert "Revert "tdf#118133 DOCX import: disable lazy-loading of tiff images"" This reverts commit c6bf16909db054ec5467ebdc0ea0c9dc07307048. Lazy-loading doesn't work with cropped TIFF images, because in case of Lazy-load TIFF images we are using MapUnit::MapPixel, but in case of cropped images we are using MapUnit::Map100thMM and the crop values are relative to original bitmap size. Change-Id: I2dbf6caf08d7899ec2eae683996d997809d62b89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158509 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> (cherry picked from commit c3ce373227433f40d686847a22e78651bedbab24) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158533 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-10-25tdf#153519 make TreeListEntryUIObject saferNoel Grandin1-2/+4
Do not store a raw pointer to an object that go away. Consequently we can remove the various sleep() hacks Change-Id: I3200c26b3a2a4eb7592cb2e5c6af64d6b739d1f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158390 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158415
2023-10-25connectivity: add neutral context parserHenry Castro1-3/+7
Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I12b0fe811d141873aaa64af5b6c457051c3356b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156297 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156424 Tested-by: Jenkins (cherry picked from commit ae951137fae8afca65f695a5ca789ee1b9811629) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158274 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-10-25svx: add class "ONeutralParseContext"Henry Castro1-2/+9
If Base SQL query: SELECT COUNT("test"."id") FROM Test Then changed to Spanish interface, it is required to have a neutral keyword localized, the "COUNT" will fail to detect column type, because the keyword in Spanish is "RECUENTO" Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I191b9591ad796d0dd9509c0fb10b11c16f72e1ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156296 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156423 Tested-by: Jenkins (cherry picked from commit 47d77c822fb58f9617379969b078c8a6230767d6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158273 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-10-24tdf#155040 sw floattable, RTF: fix table is overlapped by subsequent inline oneMiklos Vajna1-0/+42
The document had overlapping text on load since commit 05425f73bfa41d3f7591461e2ad0beb4fafc39b4 (sw floatable: teach the RTF import about SwFormatFlySplit, 2023-04-21). Interestingly the DOCX equivalent was fine, there the inline table is shifted down, below the floating table, so the overlap doesn't happen. Fix the problem by moving the AddVerticalFrameOffsets=true code from the DOCX filter to the shared dmapper, because RTF needs the same. See commit 50223ea6e212b60b7d33839c2753c5601fb50f95 (tdf#98987 sw: add AddVerticalFrameOffsets compat mode, 2016-03-31) for more details about this compat flag. It was already enabled for DOC, too. Change-Id: I948b179c9ec5fa24377014b0e86826568c417b6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158372 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158378
2023-10-23tdf#156525 Save as > HTML loses drawing object as invalid gifNoel Grandin4-13/+24
This patch is specifically for the 7-6 branch, other changes meant that master received a simpler fix. This reverts the following patches commit f22c23e71d4ae628e9e90ee98d22d1fc8fca1619 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Wed Aug 2 15:26:06 2023 +0200 tdf#156525 Save as > HTML loses drawing object as invalid gif commit 04f02cfecfae481f256b6c98a1940fc5235a921a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Wed May 10 14:06:49 2023 +0200 AlphaMask::BlendWith wants an AlphaMask parameter commit 8270eb5d5600cc84dbf5f0e339f90c4519ef88bb Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri May 19 13:35:31 2023 +0200 loplugin:unusedmethods Change-Id: I2146557b6401079061474d5d83082f75d6f1974f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158340 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18drawinglayer,svx: PDF/UA export: put Form SE into anchor paragraph SEMichael Stahl1-1/+7
This is like commit d467f1aa3d028f399826c97e2eecedcd79efcf65 and commit 6e5d59c2ca6969e9491f97cd7a00d094fc62cfb3 but for the form controls, which have their own special ControlPrimitive2D. Change-Id: I4b4ac45e81f490a7b625acd9e8753300d10bf119 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157847 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit d5c19ef9d30cde052e8cd2486ac9395e62d9c9a9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157874 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-10tdf#157182 vcl,filter: PDF/A export: fix crash due to SE ID mismatchMichael Stahl1-1/+1
The SE IDs in PDFExtOutDevData and PDFWriterImpl are supposed to match. If PDF/A-1 is exported then RemoveTransparenciesFromMetaFile() is called and that does unspeakable things to the Metafile and then we just throw away the PDF related data for the page in PDFExtOutDevData::ResetSyncData(). This means that then EnsureStructureElement are called on PDFExtOutDevData but not on PDFWriterImpl, so on the next page the IDs will no longer match, which is noticed if there is no transparency to be removed on that page. pdfextoutdevdata.cxx:347: bool vcl::PageSyncData::PlaySyncPageAct(): Assertion `id == -1 || id == mParaInts.front()' failed. Guess the easiest way to deal with this is to have the premature ResetSyncData() replay only the EnsureStructureElement actions, which is only possible because they don't really require any extra data stored in the ridiculous vectors in PageSyncData; PDFWriterImpl will eventually remove the elements as they are never initialised. (regression from commit 07d790ca473cd6e71f0343419b819fa6b485dc01) Change-Id: I8eb295504067edff00608e28fd86b0c86d547083 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157748 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit c50bca0fc298973bbeda697072528e3dfc887ac5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157771 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-10tdf#48083 Handle mso_fillBackground directly when processing the shapeSamuel Mehrbrodt1-2/+1
And remove the no longer needed special handling in SdrPowerPointImport::ImportPage Follow-up to a43f1ac6c964181cbaa4c889409688197cbf7a2b Change-Id: I0382d5cf93f9e3dfba2b7822032e3eb3cf668a8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156638 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> (cherry picked from commit 76932ec6c45089f3319c4fc211d92d19d92666c3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157714 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-10-07tdf#156146 xmloff: ODF import: add backward compatibility hackMichael Stahl2-1/+2
As a follow-up to ade0a153f453500f15343380ac937252992733e0 "tdf#114287 xmloff: ODF import: fix text:list override of list style", add some ugly compatibility hack to preserve the visual layout of documents produced by LO versions before 7.6. Override the left/first-line margin of the applied numbering rules with what is in the paragraph or paragraph style, and try to do this only in the specific situation where the list style is the same. Change-Id: I1f4520c9bf9d2257d2e3864e4ddb2d28451bbd2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157284 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 7cf5faec6fdbc27dd77d2d36fb2ff205322cba0d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157325 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-05tdf#155512: oox: ppt: fix import master slidesHenry Castro1-2/+2
Import all master slides according to the relationship with slide layouts. Adjust unit test values: SdOOXMLExportTest2::testTdf106867 I do not know why those values change since importing embedded video source code was not touched SdOOXMLExportTest2::testAccentColor The accent6 is a constant value. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Ic7c70d2c4ce30a7f2d2d1cf22604f1119a66f5f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157387 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> (cherry picked from commit 08ed103d734ebf65202dc097c7bb0990573f8fd1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157532 Tested-by: Jenkins (cherry picked from commit adcde78935fb8ca2b93322aa3a558d0b3ccdbfad) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157546
2023-10-04tdf#155512: oox: ppt: abstraction "importMasterSlide"Henry Castro1-0/+6
Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Icfe8e3abbada7f728b2ad1f8e300a688f51d8f75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157386 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 84ac58c37fffa0c8b6d55c70009515d013ad65b4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157468 Tested-by: Jenkins (cherry picked from commit 9fabd7c11989c2a89c5bb238e6cb52b0a6678851) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157543
2023-10-02tdf#156525 Save as > HTML loses drawing object as invalid gifNoel Grandin1-0/+12
regression from commit 1c7cbd685633d44eac554629572f3401c450f855 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Sun May 7 16:56:21 2023 +0200 use AlphaMask for variables when calling GetAlphaMask where after my change, the code is now calling Bitmap::Replace(AlphaMask,...) instead of Bitmap::Replace(Bitmap,...) and those two methods do quite different things. However, we have to (*) restore Bitmap::Replace(Bitmap,...) which was removed in commit 8270eb5d5600cc84dbf5f0e339f90c4519ef88bb Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Fri May 19 13:35:31 2023 +0200 loplugin:unusedmethods (*) restore BitmapWriteAccess::SetPaletteEntryCount which was removed in commit 74cd0d0b281f8df75612bfb600df2eae62c4d21d Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Jun 29 13:53:30 2023 +0200 loplugin:unusedmethods (*) Invert the mask/alpha layer, since after commit 81994cb2b8b32453a92bcb011830fcb884f22ff3 Author: Noel Grandin <noelgrandin@gmail.com> Date: Fri Apr 16 20:33:10 2021 +0200 Convert internal vcl bitmap formats transparency->alpha (II) we are dealing with real alpha, and not transparency. Also add an assert in GIFWriter::WriteAccess, since it is a logic error to get here and have the image in the wrong format. Change-Id: I0e09b3ca82af0bd5b58d80e0a6eac4c7bdf7c48e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155254 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f76acf9bd97e65ba50303b6e5a25e5877996ebe1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157457 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-09-26Resolves: tdf#151919 mark blanked fields as requiring a reformatCaolán McNamara1-0/+6
the next time a format is requested, even if the value of the Formatter is the same, otherwise if the value is the same it will remain blank. Change-Id: Iec77e6d9f792b51a83a9e289cbdb197605ab1a21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157224 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-09-26vcl,sw: PDF export: move SwEnhancedPDFExportHelper statics to memberMichael Stahl1-0/+6
New struct SwEnhancedPDFState to contain the state; it is transported from SwEnhancedPDFExportHelper instance to SwTaggedPDFHelper instances via vcl::PDFExtOutDevData. Change-Id: I0c0f10587ce8bc6f5f1125da4761b7504ad2b970 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156241 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 74b3a0fe9840c6076fd805db7cf8a66f056c5832) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156372 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-19tdf#157304 Use normalized selection indices as string indicesMichael Weghorn1-1/+1
The start index of the selection can be larger than the end index. Take that into account when using these indices to calculate the index and character count to copy the relevant substring using `OUString::copy`. Without this, running the tdf#157304 macro would trigger an assert due to invalid indices being used. Backtrace: soffice.bin: .../libreoffice/sal/rtl/strtmpl.hxx:890: void rtl::str::newfromsubstring(rtl_tstring**, const rtl_tstring*, sal_int32, sal_int32) [with rtl_tstring = _rtl_ustring; sal_int32 = int]: assertion `false' failed. Thread 1 "soffice.bin" received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007ffff78a814f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007ffff785a462 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff78444b2 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007ffff78443d5 in __assert_fail_base (fmt=0x7ffff79b8dc8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff7f6f2ec "false", file=file@entry=0x7ffff7f6be70 ".../libreoffice/sal/rtl/strtmpl.hxx", line=line@entry=890, function=function@entry=0x7ffff7f6f260 "void rtl::str::newFromSubString(rtl_tString**, const rtl_tString*, sal_Int32, sal_Int32) [with rtl_tString = _rtl_uString; sal_Int32 = int]") at ./assert/assert.c:92 #5 0x00007ffff78533a2 in __assert_fail (assertion=0x7ffff7f6f2ec "false", file=0x7ffff7f6be70 ".../libreoffice/sal/rtl/strtmpl.hxx", line=890, function=0x7ffff7f6f260 "void rtl::str::newFromSubString(rtl_tString**, const rtl_tString*, sal_Int32, sal_Int32) [with rtl_tString = _rtl_uString; sal_Int32 = int]") at ./assert/assert.c:101 #6 0x00007ffff7eee8b7 in rtl::str::newFromSubString<_rtl_uString>(_rtl_uString**, _rtl_uString const*, int, int) (ppThis=0x7fffffffae40, pFrom=0x55555e7af450, beginIndex=6, count=-6) at .../libreoffice/sal/rtl/strtmpl.hxx:890 #7 0x00007ffff7ee91ca in rtl_uString_newFromSubString(rtl_uString**, rtl_uString const*, sal_Int32, sal_Int32) (ppThis=0x7fffffffae40, pFrom=0x55555e7af450, beginIndex=6, count=-6) at .../libreoffice/sal/rtl/ustring.cxx:1219 #8 0x00007ffff1697b52 in rtl::OUString::copy(int, int) const (this=0x7fffffffae88, beginIndex=6, count=-6) at .../libreoffice/include/rtl/ustring.hxx:2229 #9 0x00007ffff1814180 in svt::EntryImplementation::GetSelected(LineEnd) const (this=0x55555ed5e660) at .../libreoffice/include/svtools/editbrowsebox.hxx:371 #10 0x00007ffff180d61b in FmXEditCell::getSelectedText() (this=0x55555ed5d500) at .../libreoffice/svx/source/fmcomp/gridcell.cxx:3739 #11 0x00007fffdc1496f5 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) (pThis=0x55555ed5d600, nVtableIndex=8, pRegisterReturn=0x7fffffffb2f0, pReturnTypeRef=0x555555743db0, bSimpleReturn=false, pStack=0x7fffffffb020, nStack=0, pGPR=0x7fffffffb180, pFPR=0x7fffffffb1b0) at .../libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:75 #12 0x00007fffdc1481a0 in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**) (pThis=0x55555e7b0490, aVtableSlot=..., pReturnTypeRef=0x555555743db0, nParams=0, pParams=0x0, pUnoReturn=0x7fffffffb2f0, pUnoArgs=0x7fffffffb2e0, ppUnoExc=0x7fffffffb3d0) at .../libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233 #13 0x00007fffdc148cdd in bridges::cpp_uno::shared::unoInterfaceProxyDispatch(uno_Interface*, typelib_TypeDescription const*, void*, void**, uno_Any**) (pUnoI=0x55555e7b0490, pMemberDescr=0x55555cccccc0, pReturn=0x7fffffffb2f0, pArgs=0x7fffffffb2e0, ppException=0x7fffffffb3d0) at .../libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413 #14 0x00007fff5beb45f2 in stoc_corefl::(anonymous namespace)::IdlInterfaceMethodImpl::invoke(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) (this=0x55555ed792f0, rObj=uno::Any("com.sun.star.uno.XInterface": ...), rArgs=empty uno::Sequence) at .../libreoffice/stoc/source/corereflection/criface.cxx:590 #15 0x00007fff68020606 in (anonymous namespace)::IntrospectionAccessStatic_Impl::getPropertyValueByIndex(com::sun::star::uno::Any const&, sal_Int32) const (this=0x55555cc55910, obj=uno::Any("com.sun.star.uno.XInterface": ...), nSequenceIndex=13) at .../libreoffice/stoc/source/inspect/introspection.cxx:588 #16 0x00007fff68020161 in (anonymous namespace)::IntrospectionAccessStatic_Impl::getPropertyValue(com::sun::star::uno::Any const&, rtl::OUString const&) const (this=0x55555cc55910, obj=uno::Any("com.sun.star.uno.XInterface": ...), aPropertyName="SelectedText") at .../libreoffice/stoc/source/inspect/introspection.cxx:498 #17 0x00007fff68022522 in (anonymous namespace)::ImplIntrospectionAccess::getPropertyValue(rtl::OUString const&) (this=0x55555f4211a0, aPropertyName="SelectedText") at .../libreoffice/stoc/source/inspect/introspection.cxx:1014 #18 0x00007ffff4edb132 in SbUnoObject::Notify(SfxBroadcaster&, SfxHint const&) (this=0x55555e7b0530, rBC=..., rHint=...) at .../libreoffice/basic/source/classes/sbunoobj.cxx:2059 #19 0x00007ffff39c55f6 in SfxBroadcaster::Broadcast(SfxHint const&) (this=0x55555e7b07d0, rHint=...) at .../libreoffice/svl/source/notify/SfxBroadcaster.cxx:40 #20 0x00007ffff505a52b in SbxVariable::Broadcast(SfxHintId) (this=0x55555e7b09d0, nHintId=SfxHintId::BasicDataWanted) at .../libreoffice/basic/source/sbx/sbxvar.cxx:155 #21 0x00007ffff5054564 in SbxValue::Get(SbxValues&) const (this=0x55555e7b09d0, rRes=...) at .../libreoffice/basic/source/sbx/sbxvalue.cxx:289 #22 0x00007ffff50568fe in SbxValue::Compute(SbxOperator, SbxValue const&) (this=0x55555f441ac0, eOp=SbxCAT, rOp=...) at .../libreoffice/basic/source/sbx/sbxvalue.cxx:809 #23 0x00007ffff4fd4fb9 in SbiRuntime::StepArith(SbxOperator) (this=0x55555f43f5d0, eOp=SbxCAT) at .../libreoffice/basic/source/runtime/runtime.cxx:1305 #24 0x00007ffff4fd580d in SbiRuntime::StepCAT() (this=0x55555f43f5d0) at .../libreoffice/basic/source/runtime/runtime.cxx:1418 #25 0x00007ffff4fd2fb8 in SbiRuntime::Step() (this=0x55555f43f5d0) at .../libreoffice/basic/source/runtime/runtime.cxx:795 #26 0x00007ffff4f1c85f in (anonymous namespace)::RunInitGuard::run() (this=0x7fffffffbb40) at .../libreoffice/basic/source/classes/sbxmod.cxx:1017 #27 0x00007ffff4f1d2f5 in SbModule::Run(SbMethod*) (this=0x55555cc779e0, pMeth=0x55555f435130) at .../libreoffice/basic/source/classes/sbxmod.cxx:1177 #28 0x00007ffff4f1b907 in SbModule::Notify(SfxBroadcaster&, SfxHint const&) (this=0x55555cc779e0, rBC=..., rHint=...) at .../libreoffice/basic/source/classes/sbxmod.cxx:775 #29 0x00007ffff39c55f6 in SfxBroadcaster::Broadcast(SfxHint const&) (this=0x55555f4305d0, rHint=...) at .../libreoffice/svl/source/notify/SfxBroadcaster.cxx:40 #30 0x00007ffff4f221e4 in SbMethod::Broadcast(SfxHintId) (this=0x55555f430500, nHintId=SfxHintId::BasicDataWanted) at .../libreoffice/basic/source/classes/sbxmod.cxx:2121 #31 0x00007ffff5054564 in SbxValue::Get(SbxValues&) const (this=0x55555f430500, rRes=...) at .../libreoffice/basic/source/sbx/sbxvalue.cxx:289 #32 0x00007ffff4f21e88 in SbMethod::Call(SbxValue*, SbxVariable*) (this=0x55555f430500, pRet=0x55555f42fff0, pCaller=0x55555f441b60) at .../libreoffice/basic/source/classes/sbxmod.cxx:2077 #33 0x00007fff60031152 in basprov::BasicScriptImpl::invoke(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) (this=0x55555eddeae0, aParams=uno::Sequence of length 1 = {...}, aOutParamIndex=empty uno::Sequence, aOutParam=empty uno::Sequence) at .../libreoffice/scripting/source/basprov/basscript.cxx:252 #34 0x00007ffff440c3e8 in SfxObjectShell::CallXScript(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Any&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&, bool, com::sun::star::uno::Any const*) (_rxScriptContext=uno::Reference to (SwXTextDocument *) 0x55555c8acf20, _rScriptURL="vnd.sun.star.script:Standard.Module1.TestFocus?language=Basic&location=document", aParams=uno::Sequence of length 1 = {...}, aRet=uno::Any(void), aOutParamIndex=empty uno::Sequence, aOutParam=empty uno::Sequence, bRaiseError=true, pCaller=0x7fffffffc670) at .../libreoffice/sfx2/source/doc/objmisc.cxx:1439 #35 0x00007ffff440c8ea in SfxObjectShell::CallXScript(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Any&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&, bool, com::sun::star::uno::Any const*) (this=0x55555794e5c0, rScriptURL="vnd.sun.star.script:Standard.Module1.TestFocus?language=Basic&location=document", aParams=uno::Sequence of length 1 = {...}, aRet=uno::Any(void), aOutParamIndex=empty uno::Sequence, aOutParam=empty uno::Sequence, bRaiseError=true, pCaller=0x7fffffffc670) at .../libreoffice/sfx2/source/doc/objmisc.cxx:1468 #36 0x00007ffff1904e37 in svxform::(anonymous namespace)::NewStyleUNOScript::invoke(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Any&) (this=0x55555e778920, _rArguments=uno::Sequence of length 1 = {...}, _rSynchronousResult=uno::Any(void)) at .../libreoffice/svx/source/form/fmscriptingenv.cxx:831 #37 0x00007ffff1905461 in svxform::FormScriptingEnvironment::doFireScriptEvent(com::sun::star::script::ScriptEvent const&, com::sun::star::uno::Any*) (this=0x55555c8e5f10, _rEvent=..., _pSynchronousResult=0x0) at .../libreoffice/svx/source/form/fmscriptingenv.cxx:905 #38 0x00007ffff1904264 in svxform::FormScriptListener::impl_doFireScriptEvent_nothrow(std::unique_lock<std::mutex>&, com::sun::star::script::ScriptEvent const&, com::sun::star::uno::Any*) (this=0x55555c8e80e0, _rGuard=..., _rEvent=..., _pSynchronousResult=0x0) at .../libreoffice/svx/source/form/fmscriptingenv.cxx:684 #39 0x00007ffff190469f in svxform::FormScriptListener::OnAsyncScriptEvent(void*) (this=0x55555c8e80e0, p=0x55555e778870) at .../libreoffice/svx/source/form/fmscriptingenv.cxx:744 #40 0x00007ffff19045eb in svxform::FormScriptListener::LinkStubOnAsyncScriptEvent(void*, void*) (instance=0x55555c8e80e0, data=0x55555e778870) at .../libreoffice/svx/source/form/fmscriptingenv.cxx:733 #41 0x00007fffeddb80ed in Link<void*, void>::Call(void*) const (this=0x55555e7788c8, data=0x55555e778870) at .../libreoffice/include/tools/link.hxx:111 #42 0x00007fffeddb51aa in ImplHandleUserEvent(ImplSVEvent*) (pSVEvent=0x55555e7788c0) at .../libreoffice/vcl/source/window/winproc.cxx:2287 #43 0x00007fffeddb70d7 in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (_pWindow=0x555556c6da40, nEvent=SalEvent::UserEvent, pEvent=0x55555e7788c0) at .../libreoffice/vcl/source/window/winproc.cxx:2851 #44 0x00007fffe2e98caa in SalFrame::CallCallback(SalEvent, void const*) const (this=0x555556c6f760, nEvent=SalEvent::UserEvent, pEvent=0x55555e7788c0) at .../libreoffice/vcl/inc/salframe.hxx:310 #45 0x00007fffe2eb8973 in QtInstance::ProcessEvent(SalUserEventList::SalUserEvent) (this=0x55555573db20, aEvent=...) at .../libreoffice/vcl/qt5/QtInstance.cxx:484 #46 0x00007fffee46593b in operator()() const (__closure=0x7fffffffcc20) at .../libreoffice/vcl/source/app/salusereventlist.cxx:119 #47 0x00007fffee465c0f in SalUserEventList::DispatchUserEvents(bool) (this=0x55555573db58, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/source/app/salusereventlist.cxx:120 #48 0x00007fffe2eb8458 in QtInstance::ImplYield(bool, bool) (this=0x55555573db20, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt5/QtInstance.cxx:410 #49 0x00007fffe2eb8603 in QtInstance::DoYield(bool, bool) (this=0x55555573db20, bWait=true, bHandleAllCurrentEvents=false) at .../libreoffice/vcl/qt5/QtInstance.cxx:432 #50 0x00007fffee5221a8 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at .../libreoffice/vcl/source/app/svapp.cxx:377 #51 0x00007fffee522f46 in Application::Yield() () at .../libreoffice/vcl/source/app/svapp.cxx:461 #52 0x00007fffee521e9b in Application::Execute() () at .../libreoffice/vcl/source/app/svapp.cxx:355 #53 0x00007ffff7a36296 in desktop::Desktop::Main() (this=0x7fffffffd720) at .../libreoffice/desktop/source/app/app.cxx:1601 #54 0x00007fffee541f42 in ImplSVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:204 #55 0x00007fffee542077 in SVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:236 #56 0x00007ffff7aa1b81 in soffice_main() () at .../libreoffice/desktop/source/app/sofficemain.cxx:94 #57 0x00005555555549d4 in sal_main () at .../libreoffice/desktop/source/app/main.c:51 #58 0x00005555555549ba in main (argc=2, argv=0x7fffffffd948) at .../libreoffice/desktop/source/app/main.c:49 Change-Id: Ib6989cc302419bf44a59bd2fff159257f647726d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157017 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 2632ce875f9a9c3b0a7861112dbfc48fe17bc2a5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156961 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-19tdf#156683 a11y: Handle both disposing variants in context wrapperMichael Weghorn1-1/+4
commit db0044242a897e447988169630ff74e4c8bfecf9 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Sep 6 09:12:23 2023 +0200 tdf#156683 a11y: Forward when wrapped a11y context is disposing switched from overriding `disposing()` to overriding `disposing(const css::lang::EventObject&)` in `OAccessibleContextWrapperHelper` in order to make sure that the corresponding entry in the `AccessibleEventNotifier` client map is removed and event listeners for the wrapper get notified (via `AccessibleEventNotifier::revokeClientNotifyDisposing`) when the wrapped object is disposing. As Noel points out in [1], the `disposing()` case should probably still be overriden/handled and make sure that the wrapped object etc. get disposed, so disposing one object via the other works both ways. (If the wrapped object is disposed, so is the wrapper. If the wrapper gets disposed, so is the wrapped object.) Therefore, add back `OAccessibleContextWrapper::disposing()` and extract the logic to a separate helper method that is called from both `disposing` variants. [1] https://gerrit.libreoffice.org/c/core/+/156592/comments/bb7c24bc_94033649 Change-Id: If15fd1839b222ad94fcbc569842dc43b517d3574 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156620 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit d9e31f3c82082226dbc5afa697d0f0ac7e4214a2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156602 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-19tdf#156683 a11y: Forward when wrapped a11y context is disposingMichael Weghorn1-2/+4
`OAccessibleContextWrapper` wraps an `XAccessibleContext` held in the `m_xInnerContext` member and forwards calls to its own methods to that one. The lifecycle of the wrapper should match that of the wrapped context, so handle when the wrapped context is disposing by overriding `XAccessibleContext::disposing` (that takes a `css::lang::EventObject&` parameter) instead of overriding `WeakComponentImplHelperBase::disposing` (the `disposing` method not taking a param) that's meant to be called when/right before the object itself gets disposed (but wasn't called at all e.g. for the `OToolBoxWindowItemContext` case in tdf#156683). This makes sure that the corresponding entry in the `AccessibleEventNotifier` client map is removed and event listeners for the wrapper get notified (via `AccessibleEventNotifier::revokeClientNotifyDisposing`) when the wrapped object is disposing and fixes the tdf#156683 crash on exit with gtk3 observed in the libreoffice-7-6 branch: /usr/include/c++/13/debug/vector:450: In function: std::debug::vector<_Tp, _Allocator>::const_reference std:: debug::vector<_Tp, _Allocator>::operator[](size_type) const [with _Tp = com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>; _Allocator = std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >; const_reference = const com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>&; size_type = long unsigned int] Error: attempt to subscript container with out-of-bounds index 0, but container only holds 0 elements. Objects involved in the operation: sequence "this" @ 0x561465d8e510 { type = std::debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >; } warn:desktop:197113:197113:desktop/source/app/crashreport.cxx:61: minidump generated: /home/michi/development/git/libreoffice-WORKTREE/instdir/program/../program/../crash//e338ad13-2338-4cd0-8d5c069d-c28f5cf5.dmp Backtrace: 1 comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::disposeAndClear interfacecontainer4.hxx 397 0x7f2c39915cdc 2 comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing accessibleeventnotifier.cxx 204 0x7f2c39913c75 3 comphelper::OAccessibleContextWrapper::disposing accessiblewrapper.cxx 610 0x7f2c3992f033 4 cppu::WeakComponentImplHelperBase::dispose implbase.cxx 104 0x7f2c3947491b 5 cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleContext>::dispose compbase.hxx 90 0x7f2bf8b31c70 6 cppu::WeakComponentImplHelperBase::release implbase.cxx 79 0x7f2c39474664 7 cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleContext>::release compbase.hxx 86 0x7f2c3993133c 8 comphelper::OAccessibleContextWrapper::release accessiblewrapper.cxx 475 0x7f2c3992e536 9 com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>::clear Reference.hxx 231 0x7f2c26929685 10 atk_object_wrapper_dispose atkwrapper.cxx 1074 0x7f2c26928a2e 11 atk_object_wrapper_finalize atkwrapper.cxx 670 0x7f2c26927677 12 g_object_unref 0x7f2c3418c48c 13 AtkListener::~AtkListener atklistener.cxx 57 0x7f2c26900547 14 AtkListener::~AtkListener atklistener.cxx 58 0x7f2c2690057e 15 cppu::OWeakObject::release weak.cxx 230 0x7f2c39556056 16 cppu::WeakImplHelper<com::sun::star::accessibility::XAccessibleEventListener>::release implbase.hxx 115 0x7f2c2690a92e 17 com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>::~Reference Reference.hxx 114 0x7f2c39921b9f 18 std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>> stl_construct.h 151 0x7f2c399217af 19 std::_Destroy_aux<false>::__destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> *> stl_construct.h 163 0x7f2c39920bd5 20 std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> *> stl_construct.h 196 0x7f2c3991f10b ... <More> Reverse-debugging to the start of `atk_object_wrapper_dispose` (s. frame 10 above), shows that the the `mpContext` is`: uno::Reference to ((anonymous namespace)::OToolBoxWindowItemContext *) 0x5637df79f1b8 Also, call the base class implementation of the same method, i.e. `OAccessibleContextWrapperHelper::disposing` instead of directly disposing via `OAccessibleContextWrapperHelper::dispose`. The former will call `dispose` via its base class implementation if it hasn't been disposed yet, s. `OComponentProxyAggregationHelper::disposing`. Change-Id: Ief66ffbe075af40f10c5fafa62063bda55f66b2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156610 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit d3acb84c23e8894a51459c4faa6907b0d030fc17) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156592 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-14tdf#154875 "Use slide background" is only for ImpressSamuel Mehrbrodt2-0/+7
Change-Id: I078437a1cff58b868f4db4b482ad2aff335dc965 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156514 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> (cherry picked from commit d4cebb60c7757086fd737e7a2134326209bd4190) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156535 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-09-14Related tdf#156116 - A11Y - show only one warning/textframesBalazs Varga1-0/+3
Only give one warninig message (Anchor Frames/Text boxes “As Character“.) per floating textframes. cherry-picked from commit: bac847ded67941c6db21a2f041a0b9dad9d2b0bd (Related tdf#156116 - A11Y - show only one warning/textframes) - part 1 Change-Id: I6cff4022a30de9734d6afc592f52c7ad4297c18a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156200 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156499
2023-09-12tdf#156959 - Remove pinned icons from thumbnail view itemAndreas Heinisch1-9/+0
Remove pinned icons from thumbnail view item and pushed it down to the recent documents view item. This avoids that the pinned icon will be shown in a simple thumbnail view, e.g., in the thumbnail view of the side pane in base. In addition, fixed an error with the number of elements in the thumbnail view in the start center when items are pinned, i.e., removed a spurious new line. Change-Id: I76026bfa9239f709aa60ff12efabe28cb09f0d76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156625 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156641 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-09-07add referer to ole objectsCaolán McNamara1-2/+4
so we can identify what document is requesting their contents extends: commit 5668e73beb30b95abc6520b7432c54972ca3ab2c Date: Wed Nov 20 14:43:45 2013 +0100 avmedia: Implement "block untrusted referer links" feature See f0a9ca24fd4bf79cac908bf0d6fdb8905dc504db "rhbz#887420 Implement 'block untrusted referer links' feature" for details. This adds some further /*TODO?*/ comments, and one known problem (marked /*TODO!*/) is that movies/sounds are not blocked during a slideshow presentation. to these objects too, namely OLE2Shape and derivatives AppletShape, FrameShape and PluginShape so in paranoid mode we won't load the contents of such objects from documents considered "untrusted". Change-Id: I6d988035d0cd09fd3fade5f6885fe336c95579ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156598 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-09-06move BGradient to awt::Gradient2 UNO conversion into docmodelTomaž Vajngerl2-22/+33
This is needed because the module dependencies are an issues if the conversion is done in basegfx. The bigger issue will come when the ComplexColor conversion will be done as basegfx can't depend on docmodel because of circular dependencies. The BGradient is also more suitable for docmodel anyway as the previously it was part of the model and is not a basic (gfx) type - however this doesn't move the whole BGradient into docmodel yet. Change-Id: Id91ce52232f89f00e09b451c13da36e2854ae14b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155674 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 242bb3fdda5be165bd00701518df47cc1276438f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156449 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-09-06tdf#154270 Sync toolbar button recent colorsMaxim Monastirsky6-53/+63
As the last used color is stored per button instance, these will go out of sync with several buttons being visible (e.g. a toolbar and a sidebar, or a toolbar overflow popup), and will reset whenever the toolbar resets (e.g. change in selection, switch from print preview, or customization). Fix that by storing the last colors per-document, and notifying other buttons on changes. Keep the last color also stored per-button for now, as a fallback for reportdesign (which isn't sfx2 based). Change-Id: I866f1de5c8ff6f56c47dc4b6b5acf52957d4e6c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153943 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156519
2023-09-01Theme dialog: fix crash when closing parent firstSzymon Kłos1-1/+2
When we have 'Add' subdialog opened and we close parent by clicking 'cancel' - subdialog wasn't closed and we had a crash on next interaction with 'Add' subdialog Change-Id: I5865a725e93d7c11aa933b7566a7c584018740ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155715 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156157 Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156397
2023-09-01Prevent to open multiple Theme Color Edit dialogGülşah Köse1-0/+1
When we do super fast clicks to Add button prevent to open multiple dialog. Follow-up commit e73b2bc4e6fdaba3098fa2c701342e1df112514c Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com> Change-Id: If40c4982b873d41984bea298284eae062742b057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155083 Tested-by: Jenkins Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156396
2023-08-31tdf#156835 - FILEOPEN XLSX: add SHA-384 encryption support for ooxml importBalazs Varga3-0/+4
Password protected file with SHA-384 encryption does not open before this patch. Change-Id: I482233f788b8e9da210ad6d2a6c4ece18d05d248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156282 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> (cherry picked from commit 9254fbce6b9e20a75aa2a379bcf2fc9dc41a5b44) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156225
2023-08-30tdf#156591 - A11Y - add fix button for "Style has no language set."Balazs Varga1-0/+1
Open style language character settings if the language is set to 'None'. Add EditStyleFont uno command for editing directly Font of paragraph styles. Change-Id: I8b7d7880cc77f7352edac089ee95b4a6d0744575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155494 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> (cherry picked from commit b4cbf44e8d5072e79b62e6b4e3b1c2480e4a34f3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155785
2023-08-28tdf#150610 fix broken rendering of text meta actionsPatrick Luby1-0/+5
Even when drawing to a VirtualDevice where antialiasing is disabled, text will still be drawn with some antialiased pixels on HiDPI displays. So, expand the size of the VirtualDevice slightly to capture any of the pixles drawn past the edges of the destination bounds. Change-Id: Ibcba8234708d8784c12f984289ec0a8fcad6694e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156098 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Patrick Luby <plubius@neooffice.org> (cherry picked from commit e7496f41562b75ea9732ca48f9aa0c07b69e424f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156135
2023-08-21sw floattable: handle AllowOverlap==false in the RTF filterMiklos Vajna1-0/+1
Map \tabsnoovrlp to SwFormatWrapInfluenceOnObjPos::mbAllowOverlap on import and do the opposite on export. Change-Id: I3d786041648d62e80f2ea9e3d726426e01a8d192 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155687 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit 68c8466dd80e7a964e1377ee3e0308dc449fbf2d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155698 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-16Resolves: tdf#127334 Backport tools::Duration ScInterpreter::CalculateAddSub()Eike Rathke1-2/+28
All tools::Duration implementation for completeness. This is a combination of 5 (+2 typo) commits. Introduce tools::Duration(sal_Int32 nDays, const Time& rTime) ctor xChange-Id: If002e04536149b49b2249103ac914d17dec3fae6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153409 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit 986c2d86a7b53a6599d014db7327f47cb33d4fea) Introduce tools::Duration individual time values ctor xChange-Id: I516d3727cbcf6667b32dc963febbf4b753ef6a91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153497 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit c968d8989004301b49d67a093a6eb8a629533837) Clamp and assert maximum hours value in Time::init() xChange-Id: Ia777222f3c797b90663b55499a57025e410b1d70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153407 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit b07d72c6c1075efa6b64c67758566426c22c5225) Use tools::Duration in ScInterpreter::CalculateAddSub() ... for all (date+)time inflicted operands. xChange-Id: I93043d912867e2ef7d4af271b5c4566a3ffb4ef9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153291 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit 174a72f3fd50d1146d6bedd4cc2a1971aa33be67) Resolves: tdf#127334 Increase tools::Duration accuracy epsilon unsharpness ... when converting from double, i.e. to 300 nanoseconds. Empirically determined.. xChange-Id: I92c43b5f244923363af5d44bece9c155126ca343 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155324 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit 46e672db8002e7aaac881bee65b5c50c4e14c666) Change-Id: I92c43b5f244923363af5d44bece9c155126ca343 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155427 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-08-08pptx: import shape text from master pageSzymon Kłos1-0/+3
If shape has custom text defined in master page but no text itself - don't prefer placeholder text but text from master page. Change-Id: Id4f7aeca0e74ecd8565905cd656a182c1195fa30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154980 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155335 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155416 Tested-by: Jenkins
2023-08-07Fix crash in lokit form control mouse handlerThorsten Behrens1-1/+1
Since 7adfecb0f5947ae258226c8d1652546f81577026 , clicking on form controls results in a crash like this one: 0x00007f7c81092a7c in __pthread_kill_implementation () at /lib64/libc.so.6 0x00007f7c81041226 in raise () at /lib64/libc.so.6 0x00007f7c81029897 in abort () at /lib64/libc.so.6 0x00007f7c812e4c60 in __gnu_debug::_Safe_sequence_base::_M_get_mutex() () at /lib64/libstdc++.so.6 0x00007f7c2aaaf36f in std::_Optional_base_impl<PointerStyle, std::_Optional_base<PointerStyle, true, true> >::_M_get() (this=0x7f7c2c673b50 <LokControlHandler::postMouseEvent(SdrPage const*, SdrView const*, vcl::DocWindow&, int, Point, int, int, int)::eDocPointerStyle>) at /usr/include/c++/13/optional:477 0x00007f7c2aaa9b24 in std::optional<PointerStyle>::operator*() & (this=0x7f7c2c673b50 <LokControlHandler::postMouseEvent(SdrPage const*, SdrView const*, vcl::DocWindow&, int, Point, int, int, int)::eDocPointerStyle>) at /usr/include/c++/13/optional:974 0x00007f7c2aaa66bb in LokControlHandler::postMouseEvent(SdrPage const*, SdrView const*, vcl::DocWindow&, int, Point, int, int, int) (pPage=0x7f7c6ec35910, pDrawView=0x7f7c6f097a40, rMainWindow=..., nType=0, aPointHmm=Point = {...}, nCount=1, nButtons=1, nModifier=0) at core/include/sfx2/LokControlHandler.hxx:79 0x00007f7c2aa9d784 in SwXTextDocument::postMouseEvent(int, int, int, int, int, int) (this=0x7f7c6eae94f0, nType=0, nX=1756, nY=4106, nCount=1, nButtons=1, nModifier=0) at core/sw/source/uibase/uno/unotxdoc.cxx:3741 0x00007f7c7c8fb074 in doc_postMouseEvent(LibreOfficeKitDocument*, int, int, int, int, int, int) (pThis=0x7f7c6f37fe90, nType=0, nX=1756, nY=4106, nCount=1, nButtons=1, nModifier=0) at core/desktop/source/lib/init.cxx:5062 0x00007f7c81642c9e in postMouseEventInThread(gpointer) (data=0x19aa340) at core/libreofficekit/source/gtk/lokdocview.cxx:2335 0x00007f7c816441fb in lokThreadFunc(gpointer, gpointer) (data=0x19aa340) at core/libreofficekit/source/gtk/lokdocview.cxx:2567 Change-Id: I77e85df6a77adc033cc793488924ed676a9900be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155364 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 30fa03428e9fa9aecf753c14bc3c5156a471d49e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155307 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-08-04sc: theme color support for sparklines + ODF & OOXML import/exportTomaž Vajngerl5-43/+78
This changes Sparkline colors to use complex colors instead and adds Sparkline theme color import and export support for ODF and OOXML. Change-Id: I58edd525d50f95199bd4fe7825afb51aaa7fc091 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155113 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit c8d8bf4282cbd04abacfa69ba2cc0fa4300e35e1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155289 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-04fix C/P typo that allowed setting LumMod color transform value 0Tomaž Vajngerl1-1/+1
should be m_nLumOff instead of m_nLumMod Change-Id: I14b04fb0fecad949a41abf752d2ac05ceed5ba83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155112 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 144d16443a74839f885dc9597bee1e48493b278f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155158 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-04set finalColor of the ComplexColor in BorderLine and BrushItemTomaž Vajngerl3-1/+9
The final color is stored inside the ComplexColor and is used to represent the final computed color from theme color and/or transforms. Change-Id: I405615bba144bfe876b75c565746d9eebc88e973 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155111 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 614dfb98cd4705b63bf1e525d3d34df9ce950ebb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155157 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-04sc: Add import/export ODF support for border complex colorsTomaž Vajngerl1-0/+4
ODF Import and export support for border {left,right,top,bottom} complex colors. In addition round-trip test was extended with the border use case. Change-Id: I1d14690272c06e8ffcfcd483eb7f688ca5bb1e5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155014 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 5e34a25aa7f58b37a2303aef9318bbe5a9af5d37) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155177 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-07-27tdf#154955 svx: PDF/UA export: tag SdrObjGroup properlyMichael Stahl1-0/+2
ISO 14289-1:2014, 7.3 Graphics Graphics that possess semantic value only in combination with other graphics shall be tagged with a single Figure tag for each group. Also produce the missing alt-text. Change-Id: I78e802d8e17a29c2d19fcf3a7ec9961f8f04e391 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154684 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 2582d2407c9b01a80aaa9ff1850eba576ed56eda) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154700 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-07-27Resolves: tdf#156411 listen to "value-changed" not "changed"Caolán McNamara1-4/+4
we were listening to "changed" and querying the "value", but the value isn't guaranteed to have changed while the contents are being edited, only when "value-changed" arrives. Change-Id: I077051555813df48adae4259aa9a93d39c360dc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154927 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2023-07-26tdf#154982 drawinglayer,svx,sw,vcl: PDF export: hell flys and shapes...Michael Stahl2-4/+4
... should be below their anchor paragraph in the structure tree. Refactor SwEnhancedPDFExportHelper (etc.) to use the new EnsureStructureElement()/InitStructureElement() functions instead of SetCurrentStructureElement() for the frames, and allow it for flys that don't have their anchor paragraphs created yet because the hell layer is exported before the document body. Change-Id: I1be3b54002e8196772e6f9d81dd0fd0c85b6e34b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154399 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit d467f1aa3d028f399826c97e2eecedcd79efcf65) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154427 Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-26tdf#154982 vcl: PDF Export: split BeginStructureElementMichael Stahl2-2/+19
... into 3 parts: EnsureStructureElement/InitStructureElement/BeginStructureElement So EnsureStructureElement and BeginStructureElement/EndStructureElement can be called multiple times for the same object, passing in a unique key and PDFExtOutDevData will only create the element once. InitStructureElement will be used exactly once for each object when its actual content is exported. In PDFExtOutDevData rely on the indexes being the same here and in PDFWriterImpl, because then only PDFExtOutDevData needs to maintain the map from key to index. Change-Id: Idea6e34627fe559038cf13cf01dafe84b759e3c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154357 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 07d790ca473cd6e71f0343419b819fa6b485dc01) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154426 Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-26Related: tdf#156137 allow GtkLinkButton to wrapCaolán McNamara1-0/+1
Change-Id: I00ca5a9056b64389f1d55aa8ca6a9d5fd8a16372 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154926 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-24tdf#155414 include system "reduce animation" preferencesPatrick Luby1-0/+2
Allow the system's "reduce animation" preferences to disable the Calc animated border when copying a selection of cells. Also, fix failure to stop the animated border when a copy action is performed in a different document by cancelling the animated border. This transferable has lost ownership of the system clipboard so, in essence, the previous copy action that created this transferable has been cancelled. Change-Id: I4da6d557c5dbf653c38a99eb7a16d961843a41d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154752 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Patrick Luby <plubius@neooffice.org> (cherry picked from commit 55bc4dc435d2e730a088aac881f0d4a248a030ba) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154859 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-24related tdf#152992: rename HitTolerance to HitTolerancePerAxisSarper Akdemir1-5/+5
Rename ...HitTolerance instances to ...HitTolerancePerAxis as suggested by Noel on: https://gerrit.libreoffice.org/c/core/+/154694/2/include/drawinglayer/processor2d/hittestprocessor2d.hxx#45 Change-Id: I9c5b69218a4809f795c9a6324d76b2e2c1b12343 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154716 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de> (cherry picked from commit 2acfc1448facebd254bda18b2bf286a29be636a7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154705
2023-07-23Related: tdf#155708 Clean-up - Fix validity dialog closesBalazs Varga2-2/+1
Do not close Validation window if click on another Calc sheet. Follow-up of commits: 1 - a5c61b143d53bb10430b8a486874856c16a2d86c 2 - efaa065eb7053954242c83760f897e7dba2e9fe8 Change-Id: I5352ee869f3e8a93b49abec863089f57cdf0aeba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154369 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> (cherry picked from commit 396cbd8cd017f883946f1a0be7285c89f84f40af) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154704 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>