9573 Commits
Author SHA1 Message Date
Caolán McNamara 5a201620b2 svg export: check text hyperlink URLs the same way as shape ones
and have the slideshow open only http, https and mailto links

same check as:

commit 34ec465717
Date:   Mon Mar 4 09:38:02 2019 +0100

    Check svg URLs before exporting

text hyperlinks exported since:

commit b76628acb1
Date:   Sat Aug 11 22:23:22 2012 +0200

    text export support for bullets and hyperlinks

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I826ffb43f0e809f91d1728a9a3b39ebec5b83d6e
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13498
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 5f9e522ae9b43a9f4777d86accd20cce02d8fad3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211595
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-30 11:48:43 +02:00
DrRobotto 43185ab0d2 tdf#160001 - Restore AllowDuplicateFieldNames from the last user settings
Change-Id: Ibe8027e532e669bab1551df798ec973b50767590
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211449
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2026-09-25 17:08:14 +02:00
Caolán McNamara d5d950c2b9 xslt filter: set every libxslt transformation option explicitly
libxslt leaves each option unset on a fresh transformation context and takes
its own default for it.

The service registers no libxml input handlers, and a stylesheet only has to
produce the result tree, so set all of them and allow back local file reads
alone, which is how a stylesheet picks up a second file beside the one it
converts.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I58abfc3919e26683d3fe2de72362f6c453eef8cf
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9939
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 02da3650b1bb71170112a480c7fa0220a2a34490)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210434
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-14 12:56:48 +02:00
Andrea Gelmini be7ff6a857 Fix typos in code and comments + some reformatting
Change-Id: Ic6fe197734655a2591a6730d07f23d4222a278f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210564
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-10 22:06:44 +02:00
Andrea Gelmini eeb4290b30 Fix typos
Change-Id: I53571976c4e045a5a09f1adc4425b41d96b0e6a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210565
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-10 21:26:38 +02:00
Andreas Heinisch 3fe7aaf9ac tdf#86206 - Map dash lengths to ensure correct dash pattern in scaled documents
Change-Id: I1887e49b4404119ce2f559dc4b45e6c965c0a3e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210322
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2026-09-01 15:20:37 +02:00
Andrea Gelmini 6ab0383d3d Fix typos
Change-Id: I2840a6ab229fab5d4a836a86e9940159cba7afc4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210157
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-29 16:05:26 +02:00
Andrea Gelmini e1c80203c5 Fix typos
Change-Id: I024707be2b9a020d4217ef79e9fddb4210c27469
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210158
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-29 15:15:14 +02:00
Andrea Gelmini ebbe637cc0 Fix typos in code and comments
Change-Id: Ib4330a7696cbee7c5cdd27ddc14f0741fab7e833
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210048
Tested-by: Jenkins
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 20:39:06 +02:00
Andrea Gelmini d756e8ec7d Fix typos
Change-Id: Ic0dc48058153793f95da643b4a055002089e2d55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210047
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 20:34:33 +02:00
Andrea Gelmini 0c48ac2f19 Fix typos
Change-Id: I998817b5b92aa3b372dec4906b3b980355d4e34e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210069
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 14:12:54 +02:00
Andrea Gelmini 487a2f8c22 Remove duplicated line (code)
Change-Id: Ifc85b7936d575d57dbfde64e46dcd906f24950d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210040
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 10:41:16 +02:00
Jesus Solis 39dcff4a99 tdf#156931 add import support for JPEG XL image format
Change-Id: I5b8c70d5739fdc91b0ca30fbaa780a5c7004741d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208352
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-26 11:43:32 +02:00
Andrea Gelmini b5a39f79cc Fix typos
Change-Id: I5d37e87f151613130684c6c3817383096a76cd63

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209775
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 15:55:27 +02:00
Andrea Gelmini d77b16e598 Fix typos
Change-Id: I243cdeccb059ec20b17cc33f0b04be456e32c5c8

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209773
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 15:41:15 +02:00
Andrea Gelmini db9e3b5780 Fix typos
Change-Id: I067737241f0e3224f4e3d9d4ac27f8379a9ebe36

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209774
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-08-25 15:06:49 +02:00
Xisco Fauli 3ccbe52554 tdf#173254: filter: do not use 'using namespace' in header files
Change-Id: I689bebe2f3ae07a92c5b64519a4fed504431908e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209821
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-24 23:07:27 +02:00
Andrea Gelmini 434d32febe Fix typo
Change-Id: Idaeeb0cb414d23680ad284aff1c1764e5642dc6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209373
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-20 07:45:14 +02:00
Xisco Fauli 211b320492 CppunitTest_filter_pdf: drop unused condition
Change-Id: I90a89e34e4b240ab01f0e125684291b10897b904
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209282
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-19 11:31:45 +02:00
Christian Lohmaier 725b107b1d add helper to rewrite timestamps in zip files to SOURCE_DATE_EPOCH
for reproducible builds, the timestams of zip members must not depend on
checkout date or file creation dates, the metadata should be clear of
those effects.

Only timestamps are rewritten since we want custom order/storage options
for open document files / our make rules should already have
deterministic order (or that determinism is just one additional $(sort…)
call away)

Change-Id: I49341cf3252d5ef5c092508c789fd188f21dc8df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207142
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2026-07-14 15:14:42 +02:00
Dan Williams c595016047 Remove unused Reset buttons from various dialogs
These dialogs hide the standard Reset button that SfxTabDialogController
adds to dialogs. Instead of doing that, let's just not create a button
that has to be hidden in the first place.

Dialogs can be accessed via:

New Base doc -> Edit -> Database -> Advanced Settings...
New Base doc -> Tools -> User Administration...
New Base doc -> Edit -> Database -> Properties...
New <any> doc -> Export as... -> Export as PDF...
New Writer doc -> Insert -> Footnote and Endnote -> Footnote
  then right-click in the footnote area -> Footnote/Endnote Settings...

Change-Id: I06ed3ff8f70db9eb081e654d2f73deda480c3322
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207236
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-10 13:32:14 +02:00
Stephan Bergmann e3c26324dd Silence some more bogus -Wrestrict
...that hit at least with GCC 17,

> In file included from ~/gcc/inst/include/c++/17.0.0/memory:71,
>                  from engine/include/sfx2/tabdlg.hxx:22,
>                  from engine/chart2/source/controller/dialogs/tp_SeriesToAxis.hxx:21,
>                  from engine/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx:20:
> In function ‘constexpr _ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*]’,
>     inlined from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _Sentinel, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _Sentinel = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*; _Tp = int]’ at ~/gcc/inst/include/c++/17.0.0/bits/stl_uninitialized.h:659:32,
>     inlined from ‘constexpr std::vector< <template-parameter-1-1>, <template-parameter-1-2> >::_Alloc_result std::vector< <template-parameter-1-1>, <template-parameter-1-2> >::_M_allocate_and_copy(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _Tp = int; _Alloc = std::allocator<int>]’ at ~/gcc/inst/include/c++/17.0.0/bits/stl_vector.h:1957:6,
>     inlined from ‘constexpr void std::vector< <template-parameter-1-1>, <template-parameter-1-2> >::_M_replace_with(size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _Tp = int; _Alloc = std::allocator<int>]’ at ~/gcc/inst/include/c++/17.0.0/bits/stl_vector.h:1979:44,
>     inlined from ‘constexpr std::vector<_Tp, _Alloc>& std::vector< <template-parameter-1-1>, <template-parameter-1-2> >::operator=(const std::vector< <template-parameter-1-1>, <template-parameter-1-2> >&) [with _Tp = int; _Alloc = std::allocator<int>]’ at ~/gcc/inst/include/c++/17.0.0/bits/vector.tcc:236:21,
>     inlined from ‘virtual void chart::SchOptionTabPage::Reset(const SfxItemSet*)’ at engine/chart2/source/controller/dialogs/tp_SeriesToAxis.cxx:168:69:
> ~/gcc/inst/include/c++/17.0.0/bits/stl_uninitialized.h:294:31: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing between 9223372032559808516 and 9223372036854775804 bytes at offsets 0 and 0 overlaps 9223372028264841225 bytes at offset 4294967291 [-Werror=restrict]
>   294 |               __builtin_memcpy(std::__niter_base(__result),
>       |               ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   295 |                                std::__miter_base(std::__niter_base(__first)),
>       |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   296 |                                __n * sizeof(_ValT));
>       |                                ~~~~~~~~~~~~~~~~~~~~

and

> In file included from ~/gcc/inst/include/c++/17.0.0/memory:71,
>                  from engine/include/rtl/stringconcat.hxx:20,
>                  from engine/include/rtl/string.hxx:44,
>                  from engine/include/rtl/ustring.hxx:39,
>                  from engine/include/com/sun/star/uno/Type.h:25,
>                  from engine/include/com/sun/star/uno/Sequence.h:25,
>                  from engine/include/com/sun/star/uno/Sequence.hxx:32,
>                  from engine/include/filter/msfilter/mscodec.hxx:22,
>                  from engine/filter/source/msfilter/mscodec.cxx:20:
> In function ‘constexpr _ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const unsigned char*, vector<unsigned char> >; _ForwardIterator = unsigned char*]’,
>     inlined from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _Sentinel, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const unsigned char*, vector<unsigned char> >; _Sentinel = __gnu_cxx::__normal_iterator<const unsigned char*, vector<unsigned char> >; _ForwardIterator = unsigned char*; _Tp = unsigned char]’ at ~/gcc/inst/include/c++/17.0.0/bits/stl_uninitialized.h:659:32,
>     inlined from ‘constexpr std::vector< <template-parameter-1-1>, <template-parameter-1-2> >::vector(const std::vector< <template-parameter-1-1>, <template-parameter-1-2> >&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]’ at ~/gcc/inst/include/c++/17.0.0/bits/stl_vector.h:678:31,
>     inlined from ‘virtual bool msfilter::MSCodec_CryptoAPI::InitCipher(sal_uInt32)’ at engine/filter/source/msfilter/mscodec.cxx:471:51:
> ~/gcc/inst/include/c++/17.0.0/bits/stl_uninitialized.h:294:31: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372032559808513 or more bytes at offsets 0 and 0 overlaps 9223372028264841219 bytes at offset 4294967294 [-Werror=restrict]
>   294 |               __builtin_memcpy(std::__niter_base(__result),
>       |               ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   295 |                                std::__miter_base(std::__niter_base(__first)),
>       |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   296 |                                __n * sizeof(_ValT));
>       |                                ~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: Ic7474db25c2c88c8796c44a110bdfecca0fa42fa
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4852
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit cf408bbc72fc2cd5d97ea767804f941770f3740c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207167
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 12:17:51 +02:00
Miklos Vajna 379714cd65 tdf#166779 engine filter: test "use model first to obtain selection"
Fails with commit 58ba249df5 (tdf#166779:
use model first to obtain selection, 2025-05-29) reverted.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I4534e44219c7a1507c4909e5aa5dc1afb7e21617
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2196
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit dee5e7fe025a8019b70da4866e0554cf20ccf1ff)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206356
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-12 14:38:23 +02:00
Michael Weghorn f26084217a weld: Move weld::Button to own header/Rename weld.hxx
In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses.

By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when one class changes.

By now, only weld::Button is left in weld.hxx.
Rename the header to Button.hxx.
Drop weld.hxx includes and instead add Button.hxx
includes (or weld::Button forward declarations) where
weld::Button is used.
(Don't simply replace all weld.hxx includes with
Button.hxx ones, since many of them were for the
use of other widgets that have since been moved
to their own headers.)

Add further includes where needed now that the
(direct or transitive) includes of weld.hxx were removed.

Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-05 07:58:07 +02:00
Michael Weghorn 8b5a46a0e0 weld: Move weld::toId and weld::fromId to weldutils.hxx
In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses,
as well as a few helpers.

By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when anything in weld.hxx
changes.

Move the weld::toId and weld::fromId helpers from
weld.hxx to weldutils.hxx, in preparation of getting
rid of weld.hxx altogether in an upcomcing commit.

Change-Id: I408fe20a74ff104cbfe07bde3105317a1922ff61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205936
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-04 14:37:13 +02:00
Michael Weghorn 8f7cf9c32c weld: Move weld::CheckButton to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Add missing includes/forward declarations in places
previously depending on transitive includes that
are now dropped.

Change-Id: I3215b358e0fa45ffce08756218c386e1a4d7ebc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205928
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-04 08:39:19 +02:00
Michael Weghorn da1c7a5459 weld: Move weld::RadioButton to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: I34876c5bef75e30e758029b0fe5afeecc92d509d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205903
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-03 23:19:54 +02:00
Michael Weghorn 336f70f966 weld: Move weld::Label to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: Ide86f35543468a88288a068cc9f89eaf381ac52f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205763
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-27 22:24:37 +02:00
Michael Weghorn 3f1fb9d4b0 weld: Move weld::Window to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: If7cb4403f1861c465f44a1cae4065b0bf8dfad48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205323
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-19 09:10:43 +02:00
Daniel Lee 28d7150170 tdf#151746 Fix background export for SVG in Draw
Currently, any background that is added in normal page view does
not display when Draw exports an SVG file. This is because the
background is wrapped in defs tags. This is okay in Impress because
of the presentation engine, but these tags should be removed for Draw.

Additionally, once these tags are removed from SVG export in Draw,
there is a side-effect where the background is drawn on top of the
master page shapes. This has been fixed by wrapping the master page
shapes in defs tags and referencing them later.

Change-Id: I878bea24426fa2dc59868aa595fb90d4c455f473
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200000
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-18 10:22:34 +02:00
Caolán McNamara 9ba100c0d2 SdrEscherImport::RecolorGraphic reads but doesn't use FillColors
it never did, but at:

commit 025bfa7e51
Date:   Thu Apr 23 10:03:58 2015 +0100

    cppcheck: unreadVariable

the wrong choice was made wrt the dead store, the dead loop should have
been fixed rather than let the unused fill colors accumulate in the
globalcolors buffer.

This function doesn't need to consume the unused data, all callers don't
expect the entire record to be read so just drop the loop.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I02bce4dd78dc566f18edc3d45603534c3f724cc3
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1689
(cherry picked from commit 07faeadace3d8d93225f9dd72c4f911e331070e2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205089
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-12 10:32:07 +02:00
Muhammad Naeem 098e175fb5 tdf#147021: Use std::size() instead of SAL_N_ELEMENTS in several modules
Change-Id: Ifcfd17b089c14033780792deb2d8e23fa26cd2b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204733
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2026-05-11 14:40:51 +02:00
Rene Engelhard cbc8eebc1f only conditionally enable the parquet filter
commit b14583ba37 initially added the
parquet filter with saying

    Note that this change makes it possible to load Apache Parquet files
    if and only if orcus has been built with the parquet import filter
    enabled.  Using orcus without the parquet import filter enabled will
    not break the build or run-time behavior; you just can't load parquet
    files.

This is bad since silently failing like this doesn't tell people what
the problem is. Not having the option at all is clearer and more deterministic.

And the internal liborcus in a "standard" LibreOffice build didn't build with parquet
enabled at all anyway, thus leaving LibreOffice offering the option without even able to
load the files.

This patch adds
 a) an explicit --with-parquet-filter configure flag on which the config
    is built or not
 b) based on that flag also gives --with-parquet-filter to liborcus'
    configure. (which then of course will make that liborcus linked
    against libparquet. But if people explicitely specify it..)
 c) fixes the build of liborcus against arrow 23 (see
    https://gitlab.com/orcus/orcus/-/commit/bae0e6e659cf4df2590288f566004eef7096dee4 -
    that incidentially also fixed the liborcus build against 22 for me

This is a generalized version of a local patch I carry in Debian - which
I added some time after I made liborcus in Debian *do*
--with-parquet-filter :)

Change-Id: I72b15893fe4fa8e08a556f27b2d6ab942c9858cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204685
Tested-by: Jenkins
Reviewed-by: René Engelhard <rene@debian.org>
2026-05-07 06:15:17 +02:00
Ujjawal Kumar cb2bc2ba0e WordML import: fix huge recursion depth in replace-spaces
Bug document: fdo67478-1.doc

The replace-spaces template consumed one pair of spaces per recursion
level. WordML documents with very long space runs (e.g. 61000
consecutive spaces) exceeded libxslt's 3000 depth limit, causing an
import error.

Consume the entire consecutive space run in a single call by using
translate() to find the first non-space character, counting all leading
spaces at once, and emitting a single <text:s text:c="N"/> element.
Recursion depth is now bounded by the number of separate space runs,
not the total number of spaces.

Change-Id: Ifb11a61a2e89274684e1d6d38920c8792598fa43
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/62
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 7ba970bce9e1200e5712afe76ec3a85056be9263)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204666
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-02 17:46:23 +02:00
Xisco Fauli cfd3309a5d loplugin:unusedmethods
Check existing ones that can be removed

Change-Id: I6ee6fc1772c620ac5d12fea915681b094b7c3bfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204583
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-30 08:54:45 +02:00
Andrea Gelmini d17afd6400 Fix typo
Change-Id: I2fd28af8d35964e4bde3cb31154e9154f05da922
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204296
Tested-by: Jenkins
Reviewed-by: Simon Chenery <simon_chenery@yahoo.com>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-04-25 11:00:04 +02:00
Sampath-1984 938a0f670d tdf#129162 PDF Export: Disable range when whole-sheet export is active
Added ToggleSinglePageSheetsHdl in impdialog.hxx and implemented it in
impdialog.cxx following the pattern of ToggleAddStreamHdl. The handler
disables all range widgets when 'Whole sheet export' is active, as it
overrides sheet selection entirely. A new variable
bDialogUsedThisSession was introduced that checks if the user had used
the dialog to export as pdf once in the current session. This was done
so as to always initialize the 'whole sheet export' to false on dialog
pop up for first time on current session, and then to persist the user
selected state throughout the sesssion and reset on session restart.
Also added a test to check for the disabling of range field in
calc_tests4 folder under the method test_singlePageSheetsDisablesRange.
Change the following files:
filter/source/pdf/impdialog.cxx
filter/source/pdf/impdialog.hxx
sc/qa/uitest/calc_tests4/tdf129162_singlepagesheets_disables_range_options.py

Change-Id: I81390ff1d173ac05d7178440775efa1dbbf106bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202286
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2026-04-25 09:22:47 +02:00
Miklos Vajna 984b18cbf8 filter: fix crash in PDFDialog::executedDialog()
Crashreport backtrace:

	#0  0x00007d8e166943f0 in lcl_GetConfigPropertyMap()::aConfigPropertyMap_Impl () from /opt/collaboraoffice/program/../program/libsclo.so
	#1  0x00007d8e1876047a in cppu::WeakImplHelper<com::sun::star::ui::dialogs::XExecutableDialog, com::sun::star::lang::XServiceInfo, com::sun::star::lang::XInitialization>::release (
	    this=0x5a9aec60) at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/cppuhelper/implbase.hxx:115
	#2  svt::OGenericUnoDialog::release (this=0x5a9aec60) at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/svtools/genericunodialog.hxx:80
	#3  cppu::ImplInheritanceHelper<svt::OGenericUnoDialog, com::sun::star::ui::dialogs::XAsynchronousExecutableDialog>::release (this=0x5a9aec60)
	    at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/cppuhelper/implbase.hxx:171
	#4  cppu::ImplInheritanceHelper<svt::OGenericUnoAsyncDialog<SfxTabDialogController>, com::sun::star::beans::XPropertyAccess, com::sun::star::document::XExporter>::release (this=0x5a9aec60)
	    at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/cppuhelper/implbase.hxx:171
	#5  rtl::Reference<PDFDialog>::~Reference (this=<synthetic pointer>, __in_chrg=<optimized out>)
	    at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/rtl/ref.hxx:126
	#6  operator() (nResponse=<optimized out>, __closure=<optimized out>) at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/filter/source/pdf/pdfdialog.cxx:88

Calling into sc/ sounds like a broken vtable, possibly just reading
already freed memory.

The potential problem is that by the time the lambda in
PDFDialog::runAsync() would try to keep 'this' alive, it's gone already.
Try to fix that by moving the keep alive variable to the caller, so the
lambda increases the refcount.

Change-Id: Ida39f6fda976ddc044bb92e839de125fdae4fc2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203059
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204057
Tested-by: Jenkins
2026-04-23 13:44:08 +02:00
Andras Timar 73a69b11ff tdf#75837 fix XHTML export generating invalid id attributes
The XSLT odf2xhtml export used a deny-list translate() to sanitize
heading/bookmark/reference text for use as XML id attributes, only
replacing ~17 known-bad characters with underscores. Characters like
smart quotes, em dashes, and other Unicode punctuation slipped through,
producing invalid XHTML.

Replace all 14 deny-list translate() calls with a sanitize-id template
that uses the double-translate XSLT 1.0 idiom with an allow-list:
only [A-Za-z0-9_] pass through, everything else becomes an underscore.

Change-Id: Ibfe47559be4a4d56e9d1befbc4986cd7667e2fce
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/629
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204042
Tested-by: Jenkins
2026-04-22 08:48:27 +02:00
Caolán McNamara bc1629000e early return on too many points
Change-Id: Iadcef84b47a27bc987d16e4b064ee0d6db59d19a
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/992
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203755
Tested-by: Jenkins
2026-04-20 10:27:49 +02:00
Caolán McNamara 0e659f655f fix operator precedence
Change-Id: I316c6bd2eaab02dd2a43e8d9e7447915582597df
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/986
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203754
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-04-18 15:33:48 +02:00
Xisco Fauli 2524b7868e cid#1690939: Division or modulo by float zero
and
cid#1690941: Division or modulo by float zero

Change-Id: I905d334125dd0cd305cb3bb096e8153b0da97b3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203743
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-04-17 08:42:40 +02:00
Michael Weghorn 03d5d803c4 weld: Switch TreeView selection changed signal param to ItemView
Switch the param for the signal and handlers used when
the selection in a weld::TreeView changes from weld::TreeView&
to the base class, weld::ItemView&.

This is in preparation of moving the logic to the weld::ItemView
base class in an upcoming commit.

Handler implementations that require a weld::TreeView
instance can use the one that the signal is connected
to, e.g. use the class member directly inside of the
implementation instead of using the param (as is done
in most of the places anyway).

Change-Id: I0bbf8fe1dbd95906a5224155d48d832bcd144532
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203366
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-10 06:36:08 +02:00
Michael Weghorn 8ff8ad952e weld: Rename row activation related TreeView members to match IconView
Rename methods and field related to signalling activation
of a weld::TreeView row to use the same names as the equivalent
ones for signalling activation of an entry in weld::IconView:

* weld::TreeView::m_aRowActivatedHdl -> weld::TreeView::m_aItemActivatedHdl
* weld::TreeView::signal_row_activated -> weld::TreeView::signal_item_activated
* weld::TreeView::connect_row_activated -> weld::TreeView::connect_item_activated

This is in preparation of deduplicating the weld::TreeView
and weld::IconView implementations for these by moving them
to the common weld::ItemView base class in an upcoming commit.

Change-Id: I4ca4dec1295c57cea574b68fd41b89c12144c4f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203350
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-10 06:29:43 +02:00
Michael Weghorn 11789e47ac weld: Pass activated row in TreeView::signal_row_activated
This is basically the weld::TreeView version of earlier
commit

        Change-Id: I8ca62ac32108f01e2055d5ef9301de22eb5b1931
        Author: Michael Weghorn <m.weghorn@posteo.de>
        Date:   Wed Apr 8 12:35:25 2026 +0200

            weld: Pass activated item in IconView::signal_item_activated

applying an equivalent change for weld::IconView instead
of weld::TreeView. See that commit for more details/background.

For weld::TreeView, the weld::TreeIter refers to
a full row (and columns are handled separately
by a column index in the weld::TreeView API).

As for the above commit:
Initially, leave the logic of the existing signal handlers/callbackes
(in dialog implementations) unchanged. At least some of them
will be simplified in upcoming commits to use the
newly passed weld::TreeIter param directly instead of
determining the current/activated row a different
way.

Change-Id: Ie6a962702d4f7f069b2f7b77a22a78722b2a6408
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203331
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-09 10:21:45 +02:00
Khaled Hosny 6857ff0ef8 tdf#118792: Add support for font-variation-settings in SVG export
Change-Id: If560fee38f7b97349264477404eee82f3b7b2cc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203287
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-04-08 10:09:49 +02:00
Julien Nabet cb7c1b96a8 Fix GtkTreeView <various cases> could use GtkListStore for better performance
Change-Id: I5218304b52d5836155a991253670c9151fe8e094
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203276
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-04-07 13:31:45 +02:00
Olivier Hallot 00403b79ff Typos after translation roundtrip
Thanks to Tuomas J Hietala


Change-Id: Ie1572ee5a282857f64f13df6b9353dc53afd7e9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202531
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2026-04-02 15:58:47 +02:00
Andrea Gelmini 1a70694e33 Fix typo "then"->"than" + "its" -> "it's"
Change-Id: I5386ca02fdcd415eb56f9a593d180ac991d88656
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202914
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-03-29 09:50:27 +02:00
Noel Grandin 5443088b8b Fraction->double in filter
Change-Id: Ia26e74e69250d6c9cb9afa2b5d4990949568a145
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202739
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-27 08:39:40 +01:00