Commit Graph
520813 Commits
Author SHA1 Message Date
Andrea Gelmini cfbd347df3 Fix typo
Change-Id: Ibb16391a70408ab9141f91ae0b85973a950712d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211833
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-05 17:08:50 +02:00
Andrea Gelmini 9117ca006d Fix typo
Change-Id: I8be529ff62c2295c7b8d1cd72d101f8cebe365c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211816
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-05 17:08:19 +02:00
Christian Lohmaier 591a860fe4 fix macOS build baseline - you need macOS 14 / Xcode 16 to build
that baseline is also fine with a bump to using -std:c++23
earlier code changes (pre 26-2 branch off) already affected building
on macOS 13/Xcode 14 and since there have been no reports regarding
not being able to build, it is safe to assume that no LibreOffice
developer will be affected/the documentation bump comes loooong
after-the-fact.
End-Users are not affected, the minimum required version to run
LibreOffice does not change.

Change-Id: Id7ba9bb77188771241b34a318679ddce73eb041f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211683
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-10-05 16:51:57 +02:00
Caolán McNamara ca2645b707 dbaccess: use the same script checks as an office document
a database document isn't an SfxObjectShell, so its bound event
scripts run from DocumentEventExecutor rather than from
SfxEvents_Impl::Execute

Change-Id: I72cd173b95301c66c2c10932261bbccbf620c46b
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/11742
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 635a4c0f95b51c108c1ecb723a99fc250a187d61)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211802
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 15:39:58 +02:00
Caolán McNamara 4e9a1bf3a8 odbc: quote connection string values that contain a separator
A DSN, user or password with a ";" in it, or starting with "{", gets
split by the driver manager, so put it in braces to pass it as one value.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I14d975c319e65921fe06d8be7125c13fc0b93d77
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/14172
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 690a8a312214cbe154773d287dce8e77f84f62aa)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211804
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-10-05 15:31:31 +02:00
Caolán McNamara 194c8298c4 senddoc: pass the mail client its arguments directly
so the generic-mailto and xdg-email branch calls the mail client
with each attachment path as one argument, as the other branches
already do

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id3fba77ebcb7bb10ef6116c311390a0bdeb412ce
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/12783
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/12845
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 0d6a67a081caf933eedb28701079f6576aa3700f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211798
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 15:18:00 +02:00
Laurent Balland 24571d3635 tdf#173835 Include hidden sheets to show SelectAllSheets command
Follow-up commit ccbc8791e1
"Select All Sheets" command select visible and hidden sheets.
So the command should also be available when there are
some hidden sheets not selected

Change-Id: I3115385853e115d63eff91a800a2bf52c4157dc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211774
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-10-05 14:28:42 +02:00
Neil Roberts 6839513b30 unochart: Use m_pTableCursor.get() instead of &*m_pTableCursor
If m_pTableCursor is null then the initial deref in &* is undefined
behaviour, even though the resulting reference is only used to get an
address. The compiler might take advantage of this to assume that the
pointer is never null. For the dynamic_cast it might then always deref
the pointer to access the vtable without checking for null.
m_pTableCursor can be null if the SwChartDataSequence is disposed.

I don’t know whether this results in any bugs in practice, but either
way using get() is easier to understand and shouldn’t have any
performance impact, so we might as well use it.

Change-Id: I9566f4be3345dacb0af3add88cbb3fe2680ff0ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211747
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-10-05 14:12:18 +02:00
Laurent Balland 77478ebbcc tdf#171207 Remove right clic to other navigation buttons
After adding a new button in the TabBar with
https://gerrit.libreoffice.org/210677
right clic is useless for any button of the TabBar

Make some cleanup to remove unused functions

Change-Id: Id141c077583e6d3ea774b902046e871af2b8936a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211778
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-10-05 14:07:46 +02:00
Rene Engelhard 1b1711a410 fix build with (system-)md4c 0.5.x
since 689334c8b9.

the new stuff in case is not defined in 0.5.x, but since it's
fallthrough and break anyway one can probably #if(def) it out completely...

version detection using pkg-config. hopefully all distros have it
(didn't check.)

Change-Id: I1c97b0492c00dbd0ee631f98b207ee6e64744c9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211635
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 13:51:53 +02:00
Neil Roberts dfbde789ee tdf#173819 Remove another checkbox indeterminate state when becoming active
The split compound words checkbox in the edit style dialog is initially
set to an indeterminate state when the alignment is something other than
justify, presumably because its value is irrelevant in that case.
However, if the the user then sets the alignment to justify then nothing
was removing the that state. With the GTK plugin it was then not
possible to change the value. With the gen plugin however you could
still click it to give it a value.

This patch just makes the button inactive whenever justify is selected.
Weld then also removes the indeterminate state in that case.

This patch is similar to the previous one that does the same thing for
the paragraph composer checkbox. It is split into a separate patch to
make it easier to backport the other patch to the 26.8 branch.

Change-Id: Ib55b7a9675ba2c8234e758585d5933cbd39bfdd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211677
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
2026-10-05 10:33:22 +02:00
Neil Roberts 8008829465 tdf#173819 Remove checkbox indeterminate state when becoming active
The paragraph composer checkbox in the edit style dialog is initially
set to an indeterminate state when the alignment is something other than
justify, presumably because its value is irrelevant in that case.
However, if the the user then sets the alignment to justify then nothing
was removing the that state. With the GTK plugin it was then not
possible to change the value. With the gen plugin however you could
still click it to give it a value.

This patch just makes the button inactive whenever justify is selected.
Weld then also removes the indeterminate state in that case.

Change-Id: I9c7bebb168f526497d406b1b93b9d5161e251cfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211676
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
Tested-by: László Németh <nemeth@numbertext.org>
2026-10-05 10:33:12 +02:00
Neil Roberts 73415deaf4 Related tdf#173389 Improve wording in tooltip
“If you want to prefer” makes it sound like the user would be doing the
preferring, but for some reason they don’t quite dare actually do it and
instead they only “want” to do it. I think the intention is probably
that the justification algorithm should be doing the preferring. This
patch puts the preferring in the passive voice so that the subject
of the verb doesn’t have to be mentioned.

Change-Id: If6de27be688ccb03d80fa559c6027af08aea7c6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211669
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2026-10-05 10:15:46 +02:00
Vissarion Fisikopoulos 697a89a674 tdf#160343 dbaccess: fix Standard Filter on decimals with comma locales
The dialog passed values in SQL form (e.g. 4.2), but the composer
expects them localized (e.g. 4,2 for German locale) and the filter was
dropped. Pass the normalized localized value instead. Add UITest.

Change-Id: I9ef28585b9de0144c84b9815811c91f776c34c91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211504
Tested-by: Jenkins
Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org>
2026-10-05 09:35:42 +02:00
Vissarion Fisikopoulos 34f425f8b8 tdf#170190 svx: keep the operator of every condition in form filter text
When a filter condition on a column has more than one part, e.g.
"LIKE A* AND LIKE *e", only the first part was converted back to UI text
with its operator; the rest were appended as bare values
("LIKE A* AND *e"). Convert all parts the same way and add a UITest.

Change-Id: Id6a2ecd5593003c3a9fcef1955f2c672ec1ed520
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211425
Tested-by: Jenkins
Reviewed-by: Vissarion Fisikopoulos <vfisikop@libreoffice.org>
2026-10-05 09:32:43 +02:00
Noel Grandin 0e9f94c375 remove bounds checking EditDoc methods
which just tends to obscure problems, rather than help.

Fix a couple of places which have out-of-bounds data, for normal (i.e. not a bug) reasons.

Surprisingly, very little fallout.

Change-Id: I3ade28e73e584c4885e3e1a896007f535b494058
Signed-off-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13788
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 031eddcb0fb671d1e0cdb6b2fd08ad0bba85a926)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211693
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:58:22 +02:00
Caolán McNamara 0f2d897059 check the class of a nested user type found by name in SbiImage::Load
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic9215a25384e07e6c082efbeb3b79dc4b56d158c
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13657
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 48162866845dd588ec0a85a9e9e93ed4477d7771)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211727
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:56:53 +02:00
Caolán McNamara de88188e2c dbaccess: take JavaDriverClassPath only from the driver configuration
No UI ever wrote this setting into a database document. None of
the (631) .odb files in the crashtesting test corpus have it set.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3d342f16dbd2d16da8a689a9526d90816967f738
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/14009
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit aae21cae8f686c0f4d43fcbee8b478aae8d60ff1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211722
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:56:08 +02:00
Caolán McNamara 0eaa944aa5 put calc pivot table database sources under link control
like refreshing database range imports, so a pivot table whose source
is a database document named by URL, rather than a registered data
source, waits until link updates are allowed before it opens it, and
counts as an external link so the update links infobar is offered

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I90a921ef6c4346da53f4cb28f099518221bd87f7
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/14114
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 0d27a2394257fe817160ed4092aecd4168b792e5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211721
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:55:31 +02:00
Armin Le Grand (collabora) 5519a3d407 Correct StyleSheet handling when cloning to different Model II
Until now the 'local' StyleSheet got set, but that may
not be the same as the original. It was/gets identified just
by searching by name and type, not comparing content.

What to do? We could...

(a) the Style-Friendly way:
 - check if StyleSheet is identical
  - if not, create a new in-between StyleSheet hosting missing Items
  - if yes, use, done.

(b) the pragmatic/practical way:
 - Just hard-attribute the Items that are detected as different
   similar to what BurnInStyleSheetAttributes does/did, but only
   for a view differing Items

(b) is the most simple for now, but will lead to more hard
attributes. The other possibilities will be better in the
long term. For now, I will use (b).

Note that there are more cases in that VERY complex and grown
stuff emerging from SdDrawDocument::PasteBookmarkAsPage. More
things will need to be fixed, see this as a 1st step.

Needed to adapt postProcessAfterCloneToDifferentModel due to
UT testTdf96206 failing, see comment there for details.

That 1st implementation showed weaknesses with those Items
critical and only on MasterPages, so decided to give up on
that and implement ContentCompare to SdPage::Equals. That
was easier than thought: No parameter needed, only used by
InsertBookmarkAsPage_FindDuplicateLayouts::operator(). Thus,
SdPage::Equals needs no change, just SdrObject::Equals.

Due to still problems with Items corrected in Objects on
MasterPages I will for now exclude this.

Could now isolate remaining problems, these are defaults
and/or PresObj things on MasterPages. Important is that I can
completely correct all Items for all Objects in
postProcessAfterCloneToDifferentModel. I can react to these
false-positives in the ContentCompare in SdrObject::Equals.

Signed-off-by: Armin Le Grand (collabora) <Armin.LeGrand@collabora.com>
Change-Id: I10e17c8d6a893dbe92ab716182f07bafce1f3284
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/6595
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Armin Le Grand <armin.legrand@collabora.com>
(cherry picked from commit 92ffaeac04c5c8586006b026f29ce12fba3674f1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211729
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:52:54 +02:00
Stephan Bergmann 1c0b50766a Fix heap-use-after-free
...as seen once during JunitTest_forms_complex,

> ==2007790==ERROR: AddressSanitizer: heap-use-after-free on address 0x7ccbfe8b3a38 at pc 0x7f5c5361ed51 bp 0x7b5bd4ac7420 sp 0x7b5bd4ac7418
> READ of size 2 at 0x7ccbfe8b3a38 thread T8
>  #0 in SfxItemPool::IsInRange(unsigned short) const at engine/include/svl/itempool.hxx:331:66
>  #1 in SfxItemPool::getTargetPool(unsigned short) const at engine/svl/source/items/itempool.cxx:452:9
>  #2 in SfxItemPool::CheckItemInfoFlag(unsigned short, unsigned short) const at engine/svl/source/items/itempool.cxx:461:26
>  #3 in SfxItemPool::NeedsSurrogateSupport(unsigned short) const at engine/include/svl/itempool.hxx:343:18
>  #4 in SfxItemSet::checkRemovePoolRegistration(SfxPoolItem const*) at engine/svl/source/items/itemset.cxx:384:20
>  #5 in SfxItemSet::ClearSingleItem_PrepareRemove(SfxPoolItem const*) at engine/svl/source/items/itemset.cxx:364:5
>  #6 in SfxItemSet::ClearAllItemsImpl() at engine/svl/source/items/itemset.cxx:443:9
>  #7 in SfxItemSet::~SfxItemSet() at engine/svl/source/items/itemset.cxx:318:5
>  #8 in std::_Optional_payload_base<SfxItemSet>::_M_destroy() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/optional:305:23
>  #9 in std::_Optional_payload_base<SfxItemSet>::_M_reset() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/optional:341:4
>  #10 in std::_Optional_payload<SfxItemSet, false, false, false>::~_Optional_payload() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/optional:464:57
>  #11 in std::_Optional_base<SfxItemSet, false, false>::~_Optional_base() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/optional:488:12
>  #12 in std::optional<SfxItemSet>::~optional() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/optional:781:11
>  #13 in sdr::properties::DefaultProperties::~DefaultProperties() at engine/svx/source/sdr/properties/defaultproperties.cxx:92:50
>  #14 in sdr::properties::AttributeProperties::~AttributeProperties() at engine/svx/source/sdr/properties/attributeproperties.cxx:221:9
>  #15 in sdr::properties::TextProperties::~TextProperties() at engine/svx/source/sdr/properties/textproperties.cxx:79:9
>  #16 in sdr::properties::RectangleProperties::~RectangleProperties() at engine/svx/source/sdr/properties/rectangleproperties.cxx:38:9
>  #17 in sdr::properties::RectangleProperties::~RectangleProperties() at engine/svx/source/sdr/properties/rectangleproperties.cxx:37:9
>  #18 in std::default_delete<sdr::properties::BaseProperties>::operator()(sdr::properties::BaseProperties*) const at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/unique_ptr.h:92:2
>  #19 in std::__uniq_ptr_impl<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties>>::reset(sdr::properties::BaseProperties*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/unique_ptr.h:204:4
>  #20 in std::unique_ptr<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties>>::reset(sdr::properties::BaseProperties*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/unique_ptr.h:530:7
>  #21 in SdrObject::~SdrObject() at engine/svx/source/svdraw/svdobj.cxx:589:18
>  #22 in SdrAttrObj::~SdrAttrObj() at engine/svx/source/svdraw/svdoattr.cxx:42:28
>  #23 in SdrTextObj::~SdrTextObj() at engine/svx/source/svdraw/svdotext.cxx:156:1
>  #24 in SdrRectObj::~SdrRectObj() at engine/svx/source/svdraw/svdorect.cxx:69:25
>  #25 in SdrUnoObj::~SdrUnoObj() at engine/svx/source/svdraw/svdouno.cxx:223:1
>  #26 in FmFormObj::~FmFormObj() at engine/svx/source/form/fmobj.cxx:120:1
>  #27 in FmFormObj::~FmFormObj() at engine/svx/source/form/fmobj.cxx:113:1
>  #28 in SdrObject::release() at engine/svx/source/svdraw/svdobj.cxx:612:9
>  #29 in rtl::Reference<SdrObject>::clear() at engine/include/rtl/ref.hxx:181:19
>  #30 in SvxShape::~SvxShape() at engine/svx/source/unodraw/unoshape.cxx:199:21
>  #31 in SvxShapeText::~SvxShapeText() at engine/svx/source/unodraw/unoshape.cxx:3828:1
>  #32 in SvxShapeControl::~SvxShapeControl() at engine/svx/source/unodraw/unoshap2.cxx:393:1
>  #33 in SvxShapeControl::~SvxShapeControl() at engine/svx/source/unodraw/unoshap2.cxx:392:1
>  #34 in cppu::OWeakObject::release() at engine/cppuhelper/source/weak.cxx:231:9
>  #35 in cppu::OWeakAggObject::release() at engine/cppuhelper/source/weak.cxx:293:22
>  #36 in cppu::WeakAggImplHelper12<com::sun::star::drawing::XShape, com::sun::star::lang::XComponent, com::sun::star::beans::XPropertySet, com::sun::star::beans::XMultiPropertySet, com::sun::star::beans::XPropertyState, com::sun::star::lang::XUnoTunnel, com::sun::star::container::XNamed, com::sun::star::drawing::XGluePointsSupplier, com::sun::star::container::XChild, com::sun::star::lang::XServiceInfo, com::sun::star::document::XActionLockable, com::sun::star::beans::XMultiPropertyStates>::release() at engine/include/cppuhelper/implbase12.hxx:161:31
>  #37 in SvxShapeText::release() at engine/include/svx/unoshape.hxx:357:17
>  #38 in SvxShapeControl::release() at engine/include/svx/unoshape.hxx:508:21
>  #39 in freeUnoInterfaceProxy at engine/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:42:19
>  #40 in (anonymous namespace)::s_stub_defenv_revokeInterface(__va_list_tag (*) [1]) at engine/cppu/source/uno/lbenv.cxx:369:17
>  #41 in s_environment_invoke_v(_uno_Environment*, _uno_Environment*, void (*)(__va_list_tag (*) [1]), __va_list_tag (*) [1]) at engine/cppu/source/uno/EnvStack.cxx:292:9
>  #42 in uno_Environment_invoke_v at engine/cppu/source/uno/EnvStack.cxx:310:5
>  #43 in uno_Environment_invoke at engine/cppu/source/uno/EnvStack.cxx:318:5
>  #44 in (anonymous namespace)::defenv_revokeInterface(_uno_ExtEnvironment*, void*) at engine/cppu/source/uno/lbenv.cxx:423:5
>  #45 in releaseProxy at engine/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:78:9
>  #46 in com::sun::star::uno::UnoInterfaceReference::~UnoInterfaceReference() at engine/include/uno/dispatcher.hxx:93:9
>  #47 in binaryurp::Bridge::releaseStub(rtl::OUString const&, com::sun::star::uno::TypeDescription const&) at engine/binaryurp/source/bridge.cxx:509:1
>  #48 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny>>*) const at engine/binaryurp/source/incomingrequest.cxx:138:18
>  #49 in binaryurp::IncomingRequest::execute() const at engine/binaryurp/source/incomingrequest.cxx:79:26
>  #50 in request at engine/binaryurp/source/reader.cxx:86:9
>  #51 in cppu_threadpool::JobQueue::enter(void const*, bool) at engine/cppu/source/threadpool/jobqueue.cxx:100:17
>  #52 in cppu_threadpool::ORequestThread::run() at engine/cppu/source/threadpool/thread.cxx:165:31
>  #53 in threadFunc at engine/include/osl/thread.hxx:175:15
>  #54 in osl_thread_start_Impl(void*) at engine/sal/osl/unx/thread.cxx:240:9
>
> 0x7ccbfe8b3a38 is located 184 bytes inside of 648-byte region [0x7ccbfe8b3980,0x7ccbfe8b3c08)
> freed by thread T23 here:
>  #0 in operator delete(void*, unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:187:3
>  #1 in SdrItemPool::~SdrItemPool() at engine/svx/source/svdraw/svdattr.cxx:514:1
>  #2 in salhelper::SimpleReferenceObject::release() at engine/include/salhelper/simplereferenceobject.hxx:61:13
>  #3 in rtl::Reference<SfxItemPool>::~Reference() at engine/include/rtl/ref.hxx:116:22
>  #4 in SdrModel::~SdrModel() at engine/svx/source/svdraw/svdmodel.cxx:275:1
>  #5 in FmFormModel::~FmFormModel() at engine/svx/source/form/fmmodel.cxx:69:1
>  #6 in SdDrawDocument::~SdDrawDocument() at engine/sd/source/core/drawdoc.cxx:418:1
>  #7 in sd::DrawDocShell::~DrawDocShell() at engine/sd/source/ui/docshell/docshell.cxx:192:9
>  #8 in sd::GraphicDocShell::~GraphicDocShell() at engine/sd/source/ui/docshell/grdocsh.cxx:57:38
>  #9 in sd::GraphicDocShell::~GraphicDocShell() at engine/sd/source/ui/docshell/grdocsh.cxx:57:37
>  #10 in cppu::OWeakObject::release() at engine/cppuhelper/source/weak.cxx:231:9
>  #11 in rtl::Reference<SfxObjectShell>::~Reference() at engine/include/rtl/ref.hxx:116:22
>  #12 in IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() at engine/sfx2/source/doc/sfxbasemodel.cxx:268:5
>  #13 in void std::destroy_at<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_construct.h:88:15
>  #14 in void std::_Destroy<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/stl_construct.h:164:7
>  #15 in void std::allocator_traits<std::allocator<void>>::destroy<IMPL_SfxBaseModel_DataContainer>(std::allocator<void>&, IMPL_SfxBaseModel_DataContainer*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/alloc_traits.h:863:4
>  #16 in std::_Sp_counted_ptr_inplace<IMPL_SfxBaseModel_DataContainer, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:650:2
>  #17 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:423:8
>  #18 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:1100:11
>  #19 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:1574:31
>  #20 in std::__shared_ptr<IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2>::reset() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/17.0.0/../../../../include/c++/17.0.0/bits/shared_ptr_base.h:1692:9
>  #21 in SfxBaseModel::dispose() at engine/sfx2/source/doc/sfxbasemodel.cxx:802:13
>  #22 in SdXImpressDocument::dispose() at engine/sd/source/ui/unoidl/unomodel.cxx:5515:19
>  #23 in SfxBaseModel::close(bool) at engine/sfx2/source/doc/sfxbasemodel.cxx:1544:5
>  #24 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) at engine/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:87:5
>  #25 in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**) at engine/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:230:13
>  #26 in unoInterfaceProxyDispatch at engine/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:410:13
>  #27 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny>>*) const at engine/binaryurp/source/incomingrequest.cxx:236:13
>  #28 in binaryurp::IncomingRequest::execute() const at engine/binaryurp/source/incomingrequest.cxx:79:26
>  #29 in request at engine/binaryurp/source/reader.cxx:86:9
>  #30 in cppu_threadpool::JobQueue::enter(void const*, bool) at engine/cppu/source/threadpool/jobqueue.cxx:100:17
>  #31 in cppu_threadpool::ORequestThread::run() at engine/cppu/source/threadpool/thread.cxx:165:31
>  #32 in threadFunc at engine/include/osl/thread.hxx:175:15
>  #33 in osl_thread_start_Impl(void*) at engine/sal/osl/unx/thread.cxx:240:9

Change-Id: Ib38eb730f9178976d4432f77857b4f09ebfbdbcf
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/6296
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 7a151cb95d66be93ef2a2687d1ff55ca37daa410)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211728
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:52:33 +02:00
Armin Le Grand (collabora) 14312e4eb8 Correct renaming of ObjectStyles II
Whatever SdDrawDocument::renameObjectStylesIfNeeded is
intended to do, it changes the look of SdrObjects when
doing what it does.

I am not sure if these are just the 'wrong' StyleSheets
that got copied or something else. It may happen when
slides from more than two sources get copied to a
document: The newly imported styles get 'extended' names
following a naming scheme. When pasting from a 2nd
document, the *same* names for slides get created using
that naming scheme, so before these were re-used here
assuming they have the same content - which is wrong.

To just *ensure* that the objects look will not change,
compare previous ItemValues with those ItemValues after
changing the style, that guarantees equal look - for the
cost of some more hard-set attributes, but less
StyleSheets.

I see that these corrections *are* done, so that is a
clear hint that re-setting these Styles in this whole
import has basic errors, I have to correct the values.

Also use a SdrObjListIter, the version before *only*
visited all SdrObjects plain on SdrPage, leaving all
GroupContent out.

Signed-off-by: Armin Le Grand (collabora) <Armin.LeGrand@collabora.com>
Change-Id: I0cf1f823bddcea0b0087244268d1dc224da39638
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/6449
Reviewed-by: Armin Le Grand <armin.legrand@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 605790cb198686d382c809de949094755e70e833)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208432
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:52:26 +02:00
Xisco Fauli 7003eb6fc6 fix headers
Change-Id: Ia2732cc041367bc113654bc424ea6621f3961e9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211724
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:52:04 +02:00
Michael Weghorn 19da11d8f9 svx: Resave defaultshapespanel.ui with glade 3.40
This is used for the "Default" section in the
Impress/Draw "Shapes" sidebar deck.

Change-Id: I783ce750b98a112f2aa3c5a1c8f6fe86e2402d03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211733
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-10-05 08:48:33 +02:00
Michael Weghorn 97bbfedf42 svx: Use OUString literals in SvxShapeCommandsMap ctor
Change-Id: Ia409297982b341fc3e1562378339b49bb7f88078
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211732
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-10-05 08:48:20 +02:00
Michael Weghorn d4867f33e9 svx: Use vector instead of map that only uses element index as key
The std::map<sal_uInt16, OUString> members of SvxShapeCommandsMap
use ascending integers for the key, i.e. keys start with 0
and go up to N-1 if N is the number of elements.

Vector elements can be accessed by index as well, so switch to
using std::vector to simplify the logic.

To be safe, add an index check in
DefaultShapesPanel::ShapeSelectHdl
(std::map::operator[]() would implicitly insert a new
element when called with a non-existing key.) and
switch to std::vector::at() that performs bounds checks.

Change-Id: I0afc8d53a98d529b0d30344fccedd2167b5f595c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211731
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-05 08:48:09 +02:00
Michael Weghorn 0e696c7ec5 svx: Don't use 'p' prefix for non-pointer members
The `p` naming prefix is for pointers. Don't use it for
non-pointer members, to avoid confusion.

Change-Id: I8fa5faee5af10d69e5096036dd939bd2b22749ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211730
Tested-by: Jenkins
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-05 08:48:00 +02:00
Christopher Sherlock 26c7824bd4 vcl: rename opaque variables and add comments in lcl_convertLogicValue()
The previous variable names (n1, n2, n3, a4) provided no context about
the mathematical operations being performed during unit conversion.

This commit replaces them with descriptive names (nSourceValue,
nMultiplier, nDivisor, aBigValue) to clearly reflect their roles.
Additionally, inline comments were added to explain the BigInt fallback
path and the manual round-to-nearest integer division logic, making
the function significantly easier to read and maintain.

Change-Id: I7f83842a486861fc53173b41febfad6f766efbbe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203682
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-10-05 08:07:32 +02:00
Michael Weghorn cf80890d16 svx: Drop commented code from GalleryBrowser ctor
commit 09c6204b63
    Date:   Thu Feb 29 17:15:23 2024 +0100

        tdf#81880 Search the Gallery

dropped the `maThemeSelectionHandler` member, but left this
code using it, but commented out. Drop it, as it's no longer
relevant.

Change-Id: I50c8f255a2eb993497aafe20b5bafab18054b682
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211743
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-04 23:12:25 +02:00
Michael Weghorn 6d9b8d423a svx: Switch GalleryPreview::mpParent to reference
... and rename accordingly. This makes clear it's
always non-null.

Change-Id: I33b68dcf3f6cff8680249671121efe25333bbd61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211742
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-04 23:11:58 +02:00
Michael Weghorn b52914ff4e svx: Drop superfluous local var in GalleryPreview::KeyInput
Just use GalleryPreview::mpParent directly.

Change-Id: I2ea18576496b2fc532b83502bd386579caa55a5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211741
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-04 23:11:47 +02:00
Michael Weghorn b97af65b5d svx: Switch GalleryIconView::mpParent to reference
... and rename accordingly. This makes clear it's
always non-null.

Change-Id: I95774bd2e4b6e830f6550f0277217489848be068
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211740
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-04 23:11:39 +02:00
Manish Bera f38bf2917b Add unit tests for cppumaker
Change-Id: I4f53f7ee2d7f5147d09e0ff3bbde9f48f10ff85a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203324
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2026-10-04 13:32:46 +02:00
Julien Nabet 8f2eee739d Related tdf#173496: fix regression from previous patch on Pages
The regression was when clicking on Pages, it was impossible to type a range.

But following https://bugs.documentfoundation.org/show_bug.cgi?id=173496#c17
from Heiko, if we use placeholder instead + keep what the user may typed,
it simplifies the pb.

So here are the changes:
- display placeholder when clicking "Pages" except if user typed something.
Also preserve what the user typed whatever it happens then (e.g. changing page
orientation)
=> change UI test to correspond to the whole change abovev

- add a delay mechanism for the preview when on Pages.
Indeed, when typing first character, placeholder was still in background for a brief time
+ there was a slight lag when typing a character

These changes have been proposed by GPT 5.6 Luna but I could test them
and make UITest_calc_dialogs is ok for me (we'll see on Jenkins).

Change-Id: Ifa57a8d1fded24cc03ed8f0589828931e897d641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211738
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 23:24:07 +02:00
Julien Nabet 889c92e926 Revert "Fix weird encoding"
This reverts commit eb37c62b08.

Reason for revert: not wrong encoding, it was some Unicode

Change-Id: I7ad4fa180099676b2b0e480146947ca65a2cf53a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211785
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 23:06:31 +02:00
Julien Nabet eb37c62b08 Fix weird encoding
From ea8767fe50
tdf#138234 Focus the frame before executing toolbar action

Change-Id: I3c4bc9181df4b6c0abdfd4233829319d61f3224d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211784
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 22:18:35 +02:00
Laurent Balland c3709595f3 Update git submodules
* Update helpcontent2 from branch 'master'
  to c081e947a6b2e424325c60058a40042510e1807a
  - tdf#173835 Select All Sheets also select hidden sheets
    
    - Correct capitalization of "Select All Sheets" command like in UI
    - Add some precision about the hidden sheets which are also selected
    
    Change-Id: I154b5de6c298a7933a2398c09e7af9d3938649d1
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/211777
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2026-10-03 20:40:50 +02:00
Andreas Heinisch 6531640d6f tdf#125846 - Remove the terminate listener of an embedded object only once
Otherwise, all remaining listeners will be checked, leading to
performance issues when closing a document with many objects like formulas.

Change-Id: I99b4b536e40af8a9045c7da6356cca87d3c88b02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211697
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2026-10-03 20:17:05 +02:00
Andrea Gelmini daa89fdb7f Fix typos
Change-Id: I0e2b8adff439cf24155505746233fe6d1481a193
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211779
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 20:14:06 +02:00
Andreas Heinisch a56dd019a6 tdf#57274 - Link empty cells in paste special with paste all and link
Ignore the objects flag since ScViewFunc::PasteFromClip removes it.

Change-Id: Ica6961af920832de8cd16ecc945b0ea356fcc1b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211628
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2026-10-03 20:10:40 +02:00
Andrea Gelmini 3bc01f0c99 Fix typos
Change-Id: I3fb0e9e9d2b16195bf9445d01da8b5936c148544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211770
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 10:23:57 +02:00
Andrea Gelmini f6b0e1736e Fix typos
Change-Id: I57ddd4f37138287fce235b10469257c1bcb1efe7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211772
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 10:12:19 +02:00
Andrea Gelmini f0bc159124 Fix typos
Change-Id: I2f3539c4536a090ccb827e12a39f4718a73fe4fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211771
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 10:10:33 +02:00
Andrea Gelmini 179a31e987 Removed duplicated include
Change-Id: I81bd1625316de0191cb443e8167c4f925ddfa111
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211757
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
Tested-by: Jenkins
2026-10-03 09:09:41 +02:00
Li-Wen Hsu 342dabb28d gbuild: Use date -r for the BSDs as on macOS
When building with `--with-java`, `jar --date=` gets an empty value on
the BSDs due to "date: illegal option -- d" and causes build failure.

All the BSDs use `date -r EPOCH` and the `date` in macOS is derived from
BSD's.  `date -d @EPOCH` is GNU coreutils syntax.

Claude Code (Opus 5.5) was used to analyze the issue and to draft the
first fix.

Change-Id: I5c28c58985f0fdf2a44a608000b9d14ebd33a6ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211765
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
2026-10-03 07:21:55 +02:00
Michael Weghorn 872fa43021 vcl: Declare var where it's assigned in VirtualDevice::ImplInitVirDev
Merge 3 lines into one.

Change-Id: I3ecb6615e6d6021273016df05a77fb40628992a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211744
Tested-by: Jenkins
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-10-03 00:32:35 +02:00
Andrea Gelmini b34777e7d4 Fix typo
Change-Id: I48d050d00b956c300cb1a99c0e60918bb4156adb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211763
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2026-10-02 23:38:48 +02:00
Andrea Gelmini aa8ffbbea9 Fix typo
Change-Id: Ic2c704f63f6977f6a45e8290860a9e920bbad66e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211760
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-10-02 23:38:18 +02:00
Andrea Gelmini 35a1c9b83b Fix typo
Change-Id: I48d050d00b956c300cb1a99c0e60918bb4156ada
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211762
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-10-02 23:37:58 +02:00
Andrea Gelmini aced10b0eb Removed exec bits on odt file
Change-Id: I18330953b9c8519b0d3ae85d798793f01f1f124f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211759
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-10-02 22:45:51 +02:00