Commit Graph
9554 Commits
Author SHA1 Message Date
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
Noel Grandin e77b23fa1c Fraction->double in MapMode
Change-Id: I865fe1c2b0377eebda6f9f19e163928cbe7c9056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202631
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-26 13:23:37 +01:00
Samuel Mehrbrodt 0534223b18 tdf#166030 Read bullet indents from metroBlob in ppt
for each shape there is a metroBlob which contains
a small ooxml part with some properties for the shape.

Read 'marL' and 'indent' from that metroBlob to properly
import margin and indent and thus have functioning hanging indent.

Change-Id: I126e13c6ed4fc062fdbe6b80ff358bcc363a1b84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202157
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202418
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-03-24 07:36:23 +01:00
Samuel Mehrbrodt 491a8a566a tdf#168135 Add test
Ensures that sub- and superscripted text have the same height

Change-Id: I5fb65f1317462d17d26200a0b547e0ec0e7cb38d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202184
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-03-23 09:26:45 +01:00
Noel Grandin cb1da4662f Fraction->double in GDIMetaFile
Change-Id: I10343479423a94272df30423c3dd910d02bde42d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202325
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-23 07:06:06 +01:00
Noel Grandin cff0defd2c Fraction->double in FrPair
Change-Id: Ibfee97e8b778bae6d93be852c78ab518285ca27c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201745
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-21 12:44:23 +01:00
Caolán McNamara 8b4a6ac308 check for some short reads
Change-Id: Ifdf20ba8215ce4e99d696666f1e38051a9c15f23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201878
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2026-03-18 09:22:14 +01:00
Xisco Fauli 4e0c800134 filter: fix -Werror=sign-compare
Seen with gcc12:
filter/source/config/cache/filtercache.cxx: In constructor ‘filter::config::FilterCache::FilterCache()’:
filter/source/config/cache/filtercache.cxx:76:14: error: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Werror=sign-compare]
   76 |     assert(i == std::size(sStandardProps));
      |            ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
filter/source/config/cache/filtercache.cxx:97:14: error: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Werror=sign-compare]
   97 |     assert(i == std::size(sTypeProps));

after
commit 48d9138b74
Author: Liam Connors <liam.m.connors@gmail.com>
Date:   Sun Mar 8 18:03:18 2026 -0700

    tdf#147021 replace SAL_N_ELEMENTS with std::size

Change-Id: Iee239626110ff1f50cc9abeb693bc368e1d7607d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201500
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-03-12 08:37:47 +01:00
Liam Connors 48d9138b74 tdf#147021 replace SAL_N_ELEMENTS with std::size
Replace two asserts that used SAL_N_ELEMENTS with std::size to use the
modern C++ container size utility.

Change-Id: I2da8dd93199023aa742d438dafd641403afbddc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201236
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-03-11 07:06:20 +01:00
Xisco Fauli efaa7a2a87 CppunitTest_filter_textfilterdetect: split single test into different ones
it fails on Windows

Change-Id: Iba2a045c963e06a79d3222bb6327acb5074940b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201118
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-03-06 15:35:47 +01:00
Samuel Mehrbrodt ff1a7d5ee1 tdf#166030 ppt: Default indent should be 0.95cm
This is the case in PowerPoint

Change-Id: I74ed4f476fba0a0858fff09d10050612c4d2df3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200388
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-02-27 07:04:24 +01:00
Gabor Kelemen a9e9175ba6 tdf#146619 Use more forward declarations in include/sfx2
This shaves off some 300M of input
Change-Id: I2fae9ff6c6dab31010986e55365676d4a01f402d

Change-Id: I3b2551a1937929100f25c01c0c416a419e7fbb51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199388
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-23 12:19:48 +01:00
Gabor Kelemen 0a42ddbdf1 tdf#146619 Use more forward declarations in include/xmloff
Change-Id: I49e39d669ba77a99b77322275d2e54e211da5b11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199386
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-02-22 10:42:36 +01:00
Mike Kaganski d8bf4ddc6d fix assorted VirtualDevice GDI handle leaks
Similar to commit e9392c0c86fcf373e00ede92f8ceeee2c7efd233 (fix
VirtualDevice GDI handle leaks across IconView callers, 2026-02-21).

Change-Id: Idae4f9e5fba0d5c46d32e35da5f84716616f59ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199936
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-21 18:51:04 +01:00
ayagamal-tech d0ef0cda30 tdf#114441 Convert use of sal_uLong to sal_uInt32
sal_uInt32 safely covers all possible small values and used single
constant sum variable.

Signed-off-by: ayagamal-tech <ayajamalpro@gmail.com>
Change-Id: I9c8027bf9652ac200e78f7a94231f08cda7ab8a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198149
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-19 11:02:29 +01:00
Xisco Fauli ba3fb9026c merge UnoApiText and UnoApiXmlTest
in preparation for a follow-up commit

Change-Id: I3449c031696fe3ab13d4832e2671da08eb483cdb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199552
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-02-18 21:17:13 +01:00
Xisco Fauli 3696d3d9b9 UnoApiTest: deactivate lok in tearDown
Change-Id: I8fbacbb7fe0e3ec3e9fc4801e345b2ffbdc9c8cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199537
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-02-17 16:29:31 +01:00
Gabor Kelemen 6e9fa580f0 tdf#146619 Use more forward declarations in include/svtools
Change-Id: If91cce7bf7ece7d1c125509118cbbe1a9ee65397
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198971
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-17 09:13:52 +01:00
Samuel Mehrbrodt 4a46d514a9 tdf#166030 ppt: Fix spacing for bullets in text box
Change-Id: I51bc9bb780cb01cd5d126158ea159a4989ffdc4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199449
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
Tested-by: Jenkins
2026-02-16 12:02:03 +01:00
Melove 04121e1740 tdf#114441 msfilter: use sal_uInt64 for stream end position
The stream end position may exceed the range of 32-bit
integer types when parsing large MS documents.

Using a smaller type can lead to overflow and incorrect
parsing results.

Switch to sal_uInt64 to safely handle large values and
avoid data loss during import.

Change-Id: Ie8a4213007f1d902e98c2fd0895efb64045c8080
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198702
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-02-13 13:08:42 +01:00