Commit Graph
1255 Commits
Author SHA1 Message Date
Andrea Gelmini 9c704826bb Fix typos
Change-Id: Ief7455c1b1955c292022f6a6e3b8c601a34bd8a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210442
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-03 08:53:27 +02:00
Andrea Gelmini eab8f10281 Fix typos
Change-Id: I79b522964693138d147a18fc5ac089617493ca69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209898
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 14:45:31 +02:00
Andrea Gelmini 50ae505eb3 Fix typos
Change-Id: I13dd7b54737007cb69096bddef619670ef8af7b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209899
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 11:57:36 +02:00
Andrea Gelmini 4f86cfa577 Fix typos
Change-Id: Ic09e8f2877a7106eb074586662d1733828d85197
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209422
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2026-08-21 14:19:46 +02:00
Xisco Fauli 8ff6a53f56 Revert "comphelper/string: add OString variant of split()"
In order to avoid duplicity. Use OUString::fromUtf8 as it's
already done in another part of the code
This also helps to backport
commit 41e35a2d40
Author: Dan Williams <dcbw@libreoffice.org>
Date:   Thu Jul 30 12:36:44 2026 -0500

    tdf#169919: add unit test for PDF link clickable rectangle transformation

to release branches

This reverts commit cb96c7a9a5.

Change-Id: Ib87768458ba30baa0b29d17cc05d0e032719cf70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209180
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-17 16:33:52 +02:00
Dan Williams cb96c7a9a5 comphelper/string: add OString variant of split()
There's already one for OUString; copy that one and adjust for
OString and single-byte characters.

Change-Id: I2de901ead05284f9a73eadecf8628f30f8521b55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208865
Tested-by: Jenkins
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-08-12 17:00:28 +02:00
Sundaram 69212ced93 tdf#143148: Use pragma once instead of include guards
Change-Id: Ie6487dc4dc8a43ba9761e5452e772f6530f8b77e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209051
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-08-10 14:53:16 +02:00
Marios f95f832579 tdf#145614 Convert errcode #defines to constexprs
Change-Id: I42a930c237cdc6788c29929d72c0ebb9daf4a978
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208229
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2026-08-06 17:45:16 +02:00
anubhavjha0812 90cac2db5e tdf#143148 Replace include guards with pragma once
Change-Id: Ie4d89a04ccb4be1c4042f4731cb172e660e60a69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209000
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-08-06 13:56:22 +02:00
Neil Roberts 54ba86b578 scripting: Replace XAggregation of XBrowseNode with helper function
The browse node factory had a wrapper using XAggregation that wraps
every XBrowseNode. As far as I can tell this was used to replace the
implementation of getChildNodes with one that checks for exceptions from
the underlying provider and then sorts all of the resulting nodes by
name. The trouble with this is that it prevents the script providers
from detecting when a node is one from the same script provider and thus
makes it difficult to implement the XCopyableBrowseNode interface. The
documentation for XAggregation mentions this problem and also states
that the interface is deprecated.

To avoid this overhead, this patch replaces the aggregation with a
helper function in comphelper that should be used to retrieve children
from a browse node. That takes care of catching exceptions and sorting
the results.

Change-Id: I319888fee1b84ddcef397317d2cf7e72bd2867cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208160
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-07-23 15:18:22 +02:00
Michael Weghorn 652597d649 comphelper a11y: Drop KeyBindings typedef
It's only used once, in the very next line.

Change-Id: Iffbfae03378bf439cdc64d289f4346c8096669c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208269
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-20 14:40:21 +02:00
Neil Roberts 2365c64aa3 comphelper: Add helpers for accessing duck-typed methods of XBrowseNode
Implementations of XBrowseNode have a bunch of extra methods which are
accessed by using XPropertySet::getPropertyValue to determine if the
action is possible and then XInvocation::invoke to invoke it. This patch
adds wrappers around checking and invoking these methods. The idea is to
abstract away the actual implementation so that the approach can be
changed in a later patch.

Change-Id: I117ab848391dbb1277f9331d6a93f71c2cb556ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207343
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
2026-07-15 09:05:13 +02:00
ApurvR20 3ee90bca13 tdf#143148: Use pragma once instead of include guards
Change-Id: If630c4e4c66cebb05751bd857ec948fc6f2a5a6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208035
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
Tested-by: Jenkins
2026-07-14 13:34:07 +02:00
Caolán McNamara 95045fb7d5 put links in form imagecontrols under link management
Change-Id: I265f889bcfdcf1b214cde02e9e5799081ec6aa42
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2396
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 01a314d398a497e01d0b9e4b575f3b7c842b8622)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206343
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-14 13:26:15 +02:00
Yoon6 d43fe70f9f tdf#143148 toolkit: use #pragma once in diagnose_ex.hxx
Change-Id: I721ef55002adf6af4db29e082b56d2eed81080a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204668
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-07-07 10:04:11 +02:00
Xisco Fauli 4e3d9ac310 cid#1695388: Inefficient vector resizing with reserve.
Ignore warning in GCC13

Change-Id: Idb881372a0a705c4c77dc66438b4a9874603564b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207370
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-06-29 20:14:42 +02:00
Noel Grandin eb3cee606e template static field appearing in two different CUs
I saw some warnings and got suspicious, so I converted
the OSL_ENSURE to assert, and then found that we
have two copies of the s_nRefCount static field, which
obviously causes trouble.

I tried to fix this by removing usage of this dubious
template class, but the templates classes are intertwined,
and that lead to a very large patch with weird failures.

So this is a hacky minimal fix, using explicit template
instantiation to force the code to only be emitted
in a single library.

Change-Id: I634afb8b40570f2e7e0f8da541b8a2b6325fdc29
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/904
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit af69817a343ccf1411f6f8980c94ed1f696769b4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207023
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-06-20 14:20:53 +02:00
Xisco Fauli 6f81bce807 loplugin:unusedmethods
Change-Id: I57a535f72e639a9b708c5c7dc1790e354d2d477e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205943
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-04 10:00:29 +02:00
Mike Kaganski bce4bc55f9 Move ToolboxController to use OPropertyContainerImplHelper
Quite a large inheritance chain, which all needed replace dispose
with disposing, and make sure the locking is correct.

Introduce comphelper::unique_unlock, RAII class for scoped release
of std::unique_lock, to help ensure the invariant established in
commit 4fc1ab0ca8d9bb0f0b8344d0537882aab1d6d2c0 (add assert to keep
WeakComponentImplHelperBase::disposing callees honest, 2026-04-04).

Change-Id: I72c98c25c01b8042428ef2376c6aba3c6b15ec87
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/248
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 8ed30e4a243a3efdfe380852d20910bc4a02e181)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205688
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-26 00:41:07 +02:00
Mike Kaganski 79ec708230 Fix --enable-werror gcc build on Linux
... after changes that introduced and used OPropertyContainerHelper.

In file included from /home/mk/core/include/comphelper/propcontainerimplhelper.hxx:18,
                 from /home/mk/core/sc/inc/chartuno.hxx:34,
                 from /home/mk/core/sc/source/ui/unoobj/cellsuno.cxx:83:
/home/mk/core/include/comphelper/propcontainerimplhelper.hxx: In instantiation of ‘class comphelper::OPropertyContainerImplHelper<comphelper::WeakComponentImplHelper<com::sun::star::table::XTableChart, com::sun::star::document::XEmbeddedObjectSupplier, com::sun::star::container::XNamed, com::sun::star::lang::XServiceInfo>, ScChartObj>’:
/home/mk/core/sc/inc/chartuno.hxx:98:14:   required from here
   98 |       public SfxListener
      |              ^~~~~~~~~~~
/home/mk/core/include/comphelper/propimplhelper.hxx:499:1: error: ‘com::sun::star::uno::Any comphelper::OPropertyImplHelper<BaseClass, Ifc>::getFastPropertyValue(sal_Int32) [with BaseClass = comphelper::WeakComponentImplHelper<com::sun::star::table::XTableChart, com::sun::star::document::XEmbeddedObjectSupplier, com::sun::star::container::XNamed, com::sun::star::lang::XServiceInfo>; Ifc = {}; sal_Int32 = int]’ was hidden [-Werror=overloaded-virtual=]
  499 | OPropertyImplHelper<BaseClass, Ifc...>::getFastPropertyValue(sal_Int32 nHandle)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mk/core/include/comphelper/propcontainerimplhelper.hxx:66:10: note:   by ‘void comphelper::OPropertyContainerImplHelper<BaseClass, Derived, Ifc>::getFastPropertyValue(std::unique_lock<std::mutex>&, com::sun::star::uno::Any&, sal_Int32) const [with BaseClass = comphelper::WeakComponentImplHelper<com::sun::star::table::XTableChart, com::sun::star::document::XEmbeddedObjectSupplier, com::sun::star::container::XNamed, com::sun::star::lang::XServiceInfo>; Derived = ScChartObj; Ifc = {}; sal_Int32 = int]’
   66 |     void getFastPropertyValue(std::unique_lock<std::mutex>&, css::uno::Any& rValue,
      |          ^~~~~~~~~~~~~~~~~~~~

and

/home/mk/core/chart2/source/tools/CachedDataSequence.cxx: In copy constructor ‘chart::CachedDataSequence::CachedDataSequence(const chart::CachedDataSequence&)’:
/home/mk/core/chart2/source/tools/CachedDataSequence.cxx:70:51: error: expected class-name before ‘(’ token
   70 |         : comphelper::OPropertyContainerImplHelper(),
      |                                                   ^
/home/mk/core/chart2/source/tools/CachedDataSequence.cxx:69:1: error: base class ‘class comphelper::OPropertyContainerImplHelper<comphelper::WeakComponentImplHelper<com::sun::star::chart2::data::XDataSequence, com::sun::star::chart2::data::XNumericalDataSequence, com::sun::star::chart2::data::XTextualDataSequence, com::sun::star::util::XCloneable, com::sun::star::util::XModifyBroadcaster, com::sun::star::lang::XInitialization, com::sun::star::lang::XServiceInfo>, chart::CachedDataSequence>’ should be explicitly initialized in the copy constructor [-Werror=extra]
   69 | CachedDataSequence::CachedDataSequence( const CachedDataSequence & rSource )
      | ^~~~~~~~~~~~~~~~~~

and similar.

Change-Id: I913e139744a452ea992d9f574997353a760f4722
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/642
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 3917b082b9f4530d305cd947ab47658f6883c4f1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205669
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-25 14:34:21 +02:00
Mike Kaganski 350c6c5333 Drop OPropertyContainer2
Unused since I4e54547df46feed01613ebe0766c53be3c06de17 (Move EventListener
to use OPropertyContainerImplHelper).

Change-Id: Iad4efd1df433c77f4a5df20caa7a7b35558ab7e5
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/247
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 51be9cb71c55b72b61720c38295a62b127c83290)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205668
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-25 14:34:09 +02:00
Mike Kaganski 31fecb70d0 Introduce OPropertyContainerImplHelper as replacement for OPropertyContainer2
Combines OPropertyImplHelper with OPropertyContainerHelper and
OPropertyArrayUsageHelper. Derived classes only need to implement
createArrayHelper() and call registerProperty().

Migrate CachedDataSequence to use it.

Change-Id: I7c9077f412303ab3ba4d2541c2b6673813193d5a
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/235
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 480f2837def56b24b0c3b50dcd559dc785b59631)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205658
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-25 14:32:47 +02:00
Mike Kaganski 38ad50ebf4 Move OXSDDataType to use OPropertyImplHelper
Simplifies the implementation, removing boilerplate.

Change-Id: I56942a0b847995d680f65387b314c6eb27199198
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/241
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit dbb5e6bcd8e8edb3ed3346fb331cb6d38f1f5252)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205666
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-25 14:32:41 +02:00
Mike Kaganski 852d2107bc Introduce OPropertyImplHelper as a replacement for OPropertySetHelper
It is intended to work conveniently with cppu::ImplInheritanceHelper,
without XInterface diamond and without a need to write queryInterface/
getTypes/acquire/release boilerplate.

Migrate PathSettings as first user.

+ try to please gcc13 by calling reserve before insert

Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/234
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit e7d0265cbf6219e8b111dd0f98bf293d66bbba97)
Change-Id: I11e6f2d63dbe751fd3acca4ade34f8511775ee47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205649
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-05-25 11:47:15 +02:00
Julien Nabet d57034d11f Revert "Introduce OPropertyImplHelper as a replacement for OPropertySetHelper"
This reverts commit 6116db6154.

Reason for revert: it makes Tinderbox on Master for Linux fail

Change-Id: I157dcd68c057475a5a677a87efb5d1e347207585
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205648
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-05-25 09:18:55 +02:00
Mike Kaganski 6116db6154 Introduce OPropertyImplHelper as a replacement for OPropertySetHelper
It is intended to work conveniently with cppu::ImplInheritanceHelper,
without XInterface diamond and without a need to write queryInterface/
getTypes/acquire/release boilerplate.

Migrate PathSettings as first user.

Change-Id: Ieee0e3bf8ec8313a19e1475375c4007977fef08f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/234
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit e7d0265cbf6219e8b111dd0f98bf293d66bbba97)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205218
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-05-25 09:01:36 +02:00
Muhammad Naeem 3d029be871 tdf#143148: Replace include guards with #pragma once
Verified with: container=1 make -j4 oox.build sax.build xmloff.build \
comphelper.build sfx2.build reportdesign.build jvmfwk.build shell.build \
jvmaccess.build

Change-Id: Iafcce5855e7ab4e6b146e149eba43fcc1814a825
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204667
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-05-18 15:21:59 +02:00
Stephan Bergmann 811769f009 Consistently use __EMSCRIPTEN__ instead of EMSCRIPTEN macro
...as emsdk 5.0.3 deprecated the predefined EMSCRIPTEN macro (see
<https://github.com/emscripten-core/emscripten/commit/506052bd8b4e23ded7f2351c62ca3b24d40c8cf3>
"Warn about usage of deprecated EMSCRIPTEN macro. NFC (#26381)"), causing
failures like

> In file included from static/source/unoembindhelpers/PrimaryBindings.cxx:29:
> In file included from include/sfx2/viewsh.hxx:35:
> In file included from include/editeng/outliner.hxx:32:
> In file included from include/tools/color.hxx:26:
> include/osl/endian.h:66:15: error: macro 'EMSCRIPTEN' has been marked as deprecated: use __EMSCRIPTEN__ instead [-Werror,-Wdeprecated-pragma]
>    66 | #elif defined EMSCRIPTEN
>       |               ^
> /home/sberg/emsdk/5.0.4/emsdk/emscripten/main/cache/sysroot/include/emscripten/emscripten.h:35:66: note: macro marked 'deprecated' here
>    35 | #pragma clang deprecated(EMSCRIPTEN, "use __EMSCRIPTEN__ instead")
>       |                                                                  ^

To avoid confusion, also suppress the -D$(OS) in
solenv/gbuild/platform/unxgcc.mk that would unnecessarily keep defining
EMSCRIPTEN.

Change-Id: Ic1f187cf1c6417cd95d4092e9cea01a665bd1b2f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/34
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 50291c2ed83bdb49bb827a4a12905d94b8c42035)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205167
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-14 10:11:38 +02:00
AsmatZahra-code 3f11b4bb09 tdf#143148 Replace include guards with pragma once in comphelper headers
Change-Id: Iabb4c5ac9dd09bac10a44dfc63c35877e48faebb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204727
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2026-05-09 07:00:49 +02:00
Adolfo Jayme Barrientos fc1af7dd2c tdf#171916 Rename “Safe Mode” to “Troubleshoot Mode”
Change-Id: Iee6f992f06428b2a80410590bc489277d47b020b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204820
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2026-05-06 20:49:39 +02:00
Ujjawal Kumar 1f665988d0 tdf#171481 Remove redundant markdown heuristic detection code
Introduced in changes I3b14b5a07f107de69825583f54023d2d98984288,
I2ac162e13040b0414bf0cdc5d3eb7ac997db9503 and
Iac1761e71169a322d67dcabecb7eb89ab00176c3

We can remove all these code and files because we now have
markdown under paste special.

Change-Id: I33eb547c9d8f6753565090741af44aa89b33da4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203026
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203109
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-24 10:50:48 +02:00
Mike Kaganski 646e8af7a3 Don't claim XComponent for WeakImplHelper
Likely a copypasta from WeakComponentImplHelper

Change-Id: I6263487a22593c6b97844d46de2c2f15ab6d0029
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202646
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit c509bbbb99d696ff8c918c74075324ce4fa6c55a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202669
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2026-03-25 15:46:47 +01:00
Mike Kaganski f5e3ba8714 Drop WeakImplHelperBase::queryInterface
It did nothing that the inherited method wouldn't do.

Change-Id: Ifc796723149c3d6b4823795c81af69ac79254bbc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202597
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-03-24 18:16:47 +01:00
Rashmi 8d1a21997a tdf#143148 Use pragma once in comphelper headers
Replace include guards with #pragma once in include/comphelper header
files

Change-Id: Ie6235993906eda2290bc6ba67d56f53a72dc9900
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201675
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-03-14 20:31:40 +01:00
Ethan Garcia 4ee8477bdd tdf#143148 use pragma once in comphelper, basegfx, canvas
Change-Id: I45e21da3976cf215fe17c565633928281fdbccb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201314
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2026-03-10 14:16:53 +01:00
Miklos Vajna e7ab4b7dd1 tdf#170595 sw lok, idle layout: fast render of the 2nd page, too
Open a large document, the first page (inside the visible area) shows up
fast, then the idle layout starts calculating later pages. Now scroll
down to page 2, and tiles for that second page only arrive after the
full layout finished.

What happens is that idle layout unfortunately creates high priority
tasks as a side effect of completing its work, so the COOL any input
callback will not interrupt (assuming core has high priority tasks),
even when it should, so idle layout runs to completion and only then we
start rendering tiles.

An option would be to fix the priority of these tasks, but there are a
lot of them: 'vcl SystemDependentDataBuffer', 'svx::SdrPaintView
aComeBackIdle', 'svx::svdraw::SdrPageWindow mpObjectContact',
'sw::SwView m_aTimer', then I stopped looking further. At this point it
looks better to have a higher level mechanism. So introduce a flag in
comphelper/, and using that ignore reporting high priority tasks from
core to COOL till idle layout is in progress.

Note that recursive layouts are not supported, so no need to query the
current value before the first
comphelper::LibreOfficeKit::setIdleLayouting() call. With this, my 839
pages long document shows content on e.g. pages 2 & 3 just fine, even if
the full layout is not yet complete.

Change-Id: I3b7d422dd4a6c95e6fcedbdecb8a98bca6130002
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201102
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2026-03-07 07:54:34 +01:00
Michael Weghorn 1b05f4053d a11y: Mark OAccessible::getExtendedAttributes as final
Mark OAccessible::getExtendedAttributes as final, now
that all existing implementations of
XAccessibleExtendedAttributes::getExtendedAttributes
in OAccessible subclasses have been ported to override
the new helper method introduced in

    Change-Id: Ie66f135fbf6cdc98c7cdca27fa3f5fe7db7f9a74
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Mar 5 12:12:45 2026 +0100

        a11y: Introduce helper to implement XAccessibleExtendedAttributes logic

instead. Any potential new implementations in
subclasses should be done likewise.

Change-Id: Iecff4ca731d91c9a1e15805b9a78bbb8aa037867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201048
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-06 07:17:59 +01:00
Michael Weghorn 99ff2618e6 a11y: Introduce helper to implement XAccessibleExtendedAttributes logic
In OAccessible, which is used as the base class for most a11y
implementations, introduce a new virtual
OAccessible::implGetExtendedAttributes that returns a
std::unordered_map for the key/value pairs for extended attributes
and use that in OAccessible::getExtendedAttributes to build the
string mandated by the XAccessibleAttributes UNO interface.
(The order of attributes in the resulting string shouldn't
matter.)

The default implementation still results in an empty map/string
being returned. But this will allow switching subclasses to
override the new helper method in upcoming commits instead of
having to implement the string concatenation logic in each of them.

Also let OAccessible::getExtendedAttributes use
OExternalLockGuard like other UNO API methods in the class do,
which locks the SolarMutex and checks that the object hasn't been
disposed yet. (Both are reasonable when a11y UNO API methods
are called.)

If the latter results in any issues when switching subclasses
to the new logic, those are probably preexisting issues that
are surfacing then.

Change-Id: Ie66f135fbf6cdc98c7cdca27fa3f5fe7db7f9a74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201035
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-06 07:14:57 +01:00
Michael Weghorn 9ec6cec8fc a11y: Let OAccessible implement XAccessibleExtendedAttributes iface
Let the OAccessible base class used by most a11y implementations
implement the XAccessibleExtendedAttributes interface and
add a default implementation for
XAccessibleExtendedAttributes::getExtendedAttributes
that simply returns an empty string.

Platform/Toolkit a11y bridges were prepared for this in
previous commit

    Change-Id: I84252f8764d3385d71b9ada24125ca96762baf9d
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Mar 4 19:30:05 2026 +0100

        a11y: Handle empty extended attributes string

This simplifies those subclasses that were already
implementing the XAccessibleExtendedAttributes interface
so far and will allow further refactoring.

Change-Id: I05f02b57f4c32be42232a52b24fe13c945090836
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200971
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-05 11:21:40 +01:00
Noel Grandin 4b10710e09 loplugin:passstuffbyref
Change-Id: I559d246b25c99e5cb7a28ba94e04a2acedd3e720
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200943
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-04 19:22:19 +01:00
Noel Grandin 5505d3bc4d loplugin:constparams
Change-Id: I33c701be5a441c1121b797f1eb5a8bda6fc3f89b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200927
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-04 11:29:39 +01:00
OUBOUSKEN ILYAS 47944d9f83 tdf#143148 Replace traditional include guards with #pragma once
in ChainablePropertySet.hxx and ChainablePropertySetInfo.hxx.

Change-Id: I414f8e54e87de2d4a8fbc4c1390c50f07728aec0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198893
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-02-12 07:45:56 +01:00
Miklos Vajna 6112dac3ab cool#13770 lok: add a file save dialog callback
Commit f4b9d6f024b27c4d8ddaabfe0eaa0b404137e3cf (Add horrible hack to
ask the filename when exporting PDF in CODA-W, 2025-12-02) added a
callback from core to the LOK client to trigger a file picker during PDF
export.

The problem is that in its current form, this callback is
Windows-specific so other platforms (Linux, macOS) can't provide their
implementation in a straightforward way.

Fix the problem by reworkig this, so it works similar to the anyInput
callback, which is cross-platform already.

The behavior for the case when the new callback is not registered is
meant to be unchanged.

Change-Id: I27934774889fc827772b2665799eca358dd62e55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195381
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-12-11 15:49:35 +01:00
Rene Lopez Araiza 31ea0befee tdf#143138: Use #pragma once in comphelper headers.
Change-Id: I0476a8da1125dfe9fc56c411ff7acb9c72f3722a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194492
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-12-08 20:46:35 +01:00
Mike Kaganski fa0efd2899 Drop comphelper::newArray_null, and use new (std::nothrow) directly
That is clearer, and even shorter.

Change-Id: I293e588e91be0265a9898038318f3b0a99bc3767
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194738
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-28 06:46:41 +01:00
Caolán McNamara abdba6ee5b save/restore docId in Application::Reschedule
similar to what we do for viewID.

On attemting to load multiple documents StatusIndicator::start calls
Application::Reschedule during load of document #1.

That inner loop ends up loading document #2. The inner loop ends, and
load of document #1 completes in the outer loop.

Unfortunately the inner loop left the current DocumentId as that of the
inner document #2, so the document id set on the view of #1 is
incorrect.

Extend the similar fix for viewId switching during Reschedule to restore
the docId. If this Reschedule happens at any other time except load then
restoring the viewId is sufficient to identify the correct document, but
in the load case there is no viewId yet

Move the mnCurrentDocId out of sfx2 and ViewShell into comphelper so
it's available from vcl without needing to make any adjustments to
LibreOfficeKit.h[xx]

Change-Id: Ied70e0f9ff33f2587cfbcb02b0c9ca3cd4792cfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193814
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-13 09:37:13 +01:00
Gabor Kelemen 93f7837306 Fix some non self contained headers in include/
for future IWYU treatment

Change-Id: I0261f2c8b2597f0144a3a2a3d6bfdff13492da01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192752
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-08 09:37:47 +01:00
Gabor Kelemen fd2e467ba3 tdf#146619 Run IWYU in fw decl mode on include/[a-c]*
After recent commit 851fb75779
recheck these directories in include/ again
to test drive the new --headersfwd mode of bin/find-unneeded-includes

Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-08 09:37:19 +01:00
Justin Luth e9f5d6ce38 tdf#148478 pptx export: only export ASCII .wav filenames
MS PowerPoint reports a corrupt presentation
if one of the ppt/media files contains non-ascii characters.

make CppunitTest_sd_export_tests-ooxml3 \
    CPPUNIT_TEST_NAME=testTdf148478_transitionMusic

Change-Id: Ide5c5d38b4517e7a933fb8d414d901b49b15faca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193435
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
2025-11-06 19:47:51 +01:00
Noel Grandin ca24b32151 loplugin:unusedmethods
Change-Id: Ibf470ece46aa7150d7131ff66bc35d4769ec1125
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192787
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-10-21 17:48:22 +02:00