...where the latter are reportedly expensive. Both
<https://gerrit.libreoffice.org/#/c/75162/> "tdf#121740 related, cache external
mapping in cppu::loadExternal" and <https://gerrit.libreoffice.org/#/c/82261/>
"tdf#121740 add cache to win osl_getModuleURLFromAddress" attempted to reduce
the costs observed when loading one specific document by introducing caches
below cppu::detail::loadModule's call to osl::Module::loadRelative.
On the other hand, this change reduces the number of calls to
osl_getModuleURLFromAddress by computing the base URI in
cppu::detail::loadModule only once. For my local Linux --enable-dbgutil build,
for `instdir/program/soffice '109340 class14.ppt'` and then exiting LO again
(with the document attached at
<https://bugs.documentfoundation.org/show_bug.cgi?id=121740#c0>), this reduces
the number of calls to osl_getModuleURLFromAddress from 3775 to 22.
(Many of those calls originated from cppu::getCaughtException or
cppu::throwException, as in
osl_getModuleURLFromAddress
osl_getModuleURLFromFunctionAddress
osl::Module::getUrlFromAddress
osl_loadModuleRelative
osl::Module::loadRelative
cppu::detail::loadModule
cppu::loadModule
cppu::loadExternalMapping
uno_getMapping
com::sun:⭐:uno::Mapping::Mapping
cppu::throwException
.)
Unfortunately, this needs to duplicate functionality from osl_loadModuleRelative
(sal/osl/all/loadmodulerelative.cxx) somewhat, as the stable SAL interface only
offers functionality to load relative to a given function, not relative to a
given base URI. (And extending the stable SAL interface for this one use is not
worth the maintenance costs.)
Change-Id: Ib58814136d11c67d1419b0224d12e30bb710e613
Reviewed-on: https://gerrit.libreoffice.org/82290
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
And "gtk" (i.e. gtk2) is no more, so remove that one.
Change-Id: Idc68553ff6f396a6dbc7226145cb070560c2cb93
Reviewed-on: https://gerrit.libreoffice.org/82288
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
If there is no main title and/or subtitle, write out autoTitleDeleted
with a true value.
Regression from the commit 96a29c12a9
(tdf#101322 Chart OOXML Export: fix missing subtitle)
Change-Id: I0094014fc4da4cb66d31e4249f916452d00758c7
Reviewed-on: https://gerrit.libreoffice.org/82142
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
by caching whether the font is a graphite font.
Takes load time from 27s to 23s for me.
Change-Id: I7b14a8bd305b27a088f363d19ebfb6fe774d3b02
Reviewed-on: https://gerrit.libreoffice.org/82267
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
During DOCX import, not highlighted hyperlinks, ie. without hyperlink
character styles, set the Visited/Unvisited character style text
attributes to "Default Style" to avoid saving them with the
default highlighted hyperlink character styles in ODT.
Regression from the commit 576611895e
"tdf#127741 DOCX import: format hyperlink with Default character style".
Change-Id: I5ffbb107e6704b285bc3d1546e08a324c386a0ab
Reviewed-on: https://gerrit.libreoffice.org/82205
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
Fix "no matching constructor" for
OUString( arCurrent, dwCurrentSize )
from wchar_t and loplugin:cstylecast, loplugin:nullptr, and
loplugin:stringconstant warnings.
Change-Id: Ibe0341afe14a8c0380a69e9cbf946e68f9c58391
Reviewed-on: https://gerrit.libreoffice.org/82264
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
Not sure why the unused-macro warning for isnan only started to show now that I
build on Windows with clang-cl against MSVC 2019 (rather than 2017). The code
was there ever since 16cba77220 "#112673# initial
checkin of HWP filter", but there appears to never have been any use of isnan at
least in hwpfilter/ itself.
Change-Id: Ib202da91806baf347bbaf1ac2a47bcc7f81bd868
Reviewed-on: https://gerrit.libreoffice.org/82271
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Fix export of c:crossBetween tag if the category axis is deleted.
Regression from commit: e0b0502516
(tdf#128016 Chart OOXML Import: fix duplicated category labels)
Change-Id: I46ab45f3ba4f3d0fdde3ddf017a7f512b6e2e403
Reviewed-on: https://gerrit.libreoffice.org/82194
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
so the highlighted entries in a TreeView doesn't appear different
when it has focus vs not having focus.
Change-Id: I823fc0cc503161ee93845eb0fb7458a41344d608
Reviewed-on: https://gerrit.libreoffice.org/81995
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
The boost/property_tree/json_parser.hpp added in commit
0285492a45
is somewhat expensive.
Replacing it with forward declaration header - similar to commit
fb1b461208
shaves off about 80Mb of includebloat
Change-Id: I5055834b691718eec2a5ebbfc4f1cffbdea96aae
Reviewed-on: https://gerrit.libreoffice.org/81972
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
So move it one level up, this way more tests can share code in the
future.
Change-Id: I35300b3c88ac9a5c39916f53b1b1743aa85869a0
Reviewed-on: https://gerrit.libreoffice.org/82252
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
This became a problem recently with the introduction of
notebookbar customization, as it allows to hide menu items.
As a solution, use the same approach as for toolbars (see
GenericToolbarController::statusChanged): Force menu item
visibility only if it was previously hidden via a special
status update of css::frame::status::Visibility.
Change-Id: Ief9f70a289bd2e6a4855c1f92dbc20e31c62924c
Reviewed-on: https://gerrit.libreoffice.org/82222
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
...during CppunitTest_sw_mailmerge (see below). Not sure why this started now,
and no idea whether pWin can legitimately be null there in
SfxWorkWindow::HidePopups_Impl, but the fix looks harmless enough to just do it.
> sfx2/source/appl/workwin.cxx:1512:52: runtime error: reference binding to null pointer of type 'const vcl::Window'
> #0 in SfxWorkWindow::HidePopups_Impl(bool, unsigned short) at sfx2/source/appl/workwin.cxx:1512:37
> #1 in SfxDispatcher::DoActivate_Impl(bool) at sfx2/source/control/dispatch.cxx:706:56
> #2 in SfxViewFrame::DoActivate(bool) at sfx2/source/view/viewfrm.cxx:1175:20
> #3 in SfxApplication::SetViewFrame_Impl(SfxViewFrame*) at sfx2/source/appl/app.cxx:308:21
> #4 in SfxViewFrame::SetViewFrame(SfxViewFrame*) at sfx2/source/view/viewfrm.cxx:3268:19
> #5 in SfxViewFrame::MakeActive_Impl(bool) at sfx2/source/view/viewfrm.cxx:1879:9
> #6 in SfxBaseController::ConnectSfxFrame_Impl(SfxBaseController::ConnectSfxFrame) at sfx2/source/view/sfxbasecontroller.cxx:1254:33
> #7 in SfxBaseController::attachFrame(com::sun:⭐:uno::Reference<com::sun:⭐:frame::XFrame> const&) at sfx2/source/view/sfxbasecontroller.cxx:532:9
> #8 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView(com::sun:⭐:uno::Reference<com::sun:⭐:frame::XModel2> const&, com::sun:⭐:uno::Reference<com::sun:⭐:frame::XFrame> const&, comphelper::NamedValueCollection const&, rtl::OUString const&)
> #9 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&, com::sun:⭐:uno::Reference<com::sun:⭐:frame::XFrame> const&) at sfx2/source/view/frmload.cxx:714:13
> #10 in framework::LoadEnv::impl_loadContent() at framework/source/loadenv/loadenv.cxx:1157:37
> #11 in framework::LoadEnv::startLoading() at framework/source/loadenv/loadenv.cxx:390:20
> #12 in framework::LoadEnv::loadComponentFromURL(com::sun:⭐:uno::Reference<com::sun:⭐:frame::XComponentLoader> const&, com::sun:⭐:uno::Reference<com::sun:⭐:uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at framework/source/loadenv/loadenv.cxx:171:14
> #13 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at framework/source/services/desktop.cxx:621:12
> #14 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at framework/source/services/desktop.cxx
> #15 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun:⭐:uno::Sequence<com::sun:⭐🫘:PropertyValue> const&) at unotest/source/cpp/macros_test.cxx:48:62
> #16 in SwModelTestBase::loadURL(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:764:23
> #17 in SwModelTestBase::load(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:719:16
> #18 in MMTest::executeMailMerge(bool) at sw/qa/extras/mailmerge/mailmerge.cxx:209:9
> #19 in testTdf95292::verify() at sw/qa/extras/mailmerge/mailmerge.cxx:593:5
> #20 in MMTest::executeMailMergeTest(char const*, char const*, char const*, bool, int, char const*) at sw/qa/extras/mailmerge/mailmerge.cxx:88:9
> #21 in testTdf95292::MailMerge() at sw/qa/extras/mailmerge/mailmerge.cxx:590:1
Change-Id: Id9499c62cca6e1fcf3ba50b82117395106a93765
Reviewed-on: https://gerrit.libreoffice.org/82246
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
lcl_RestoreAnchor() needs to decide if if wants to not copy the old
anchor (and keep reading it via a reference) or it wants to update the
item set, it can't do both at the same time. The reason for this is that
the item set update works by deleting the old pool item and allocating a
new one, it doesn't work by updating the old pool item.
I believe this was always broken, but now sanitizers found the issue
since the cppunit test for the above bug was added recently.
Change-Id: Ic08d60eb522a62d78cb2b0ea6a4cda328f8fb80b
Reviewed-on: https://gerrit.libreoffice.org/82245
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Fixes the following reqif-xhtml validation error:
ERROR at 214: [XSD] cvc-complex-type.2.3: Element 'reqif-xhtml:blockquote' cannot have character [children], because the type's content type is element-only.
But this is probably useful in the general xhtml case as well.
[ Also add a way to not load a document when we want to cover "store"
behavior in a test. ]
Change-Id: I88795271475863b9560ac1cb99636c507746f1e9
Reviewed-on: https://gerrit.libreoffice.org/82239
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
No only when this executing from a document.
Setting 'DisableMacrosExecution' had no effect on the macro editor,
macros could still be executed there.
Change-Id: I400ed25050173d2ce1fb612aebd2dbcb73720a73
Reviewed-on: https://gerrit.libreoffice.org/82229
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
After 5d7af3c38b "make some classes
module-private" various tests in my Linux ASan+UBSan build failed due to missing
symbols.
Identified the problematic types with
> make check screenshot gb_SUPPRESS_TESTS=x && for i in $(find instdir/program workdir/LinkTarget/CppunitTest -type f); do LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}instdir/program:workdir/UnpackedTarball/cppunit/src/cppunit/.libs ldd -r "$i" 2>/dev/null | grep 'undefined symbol: _ZTI'; done
and fixed the ensuing
> sw/source/core/SwNumberTree/SwNodeNum.cxx:190:32: error: dynamic_cast from 'SwNumberTreeNode' with hidden type visibility to 'SwNodeNum' with default type visibility [loplugin:dyncastvisibility]
> SwNodeNum* pChild( dynamic_cast<SwNodeNum*>(pNode) );
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> sw/inc/SwNumberTree.hxx:114:7: note: base class 'SwNumberTreeNode' with hidden type visibility defined here [loplugin:dyncastvisibility]
> class SwNumberTreeNode
> ~~~~~~^~~~~~~~~~~~~~~~
> sw/inc/SwNodeNum.hxx:29:26: note: derived class 'SwNodeNum' with default type visibility defined here [loplugin:dyncastvisibility]
> class SAL_DLLPUBLIC_RTTI SwNodeNum : public SwNumberTreeNode
> ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fallout.
Change-Id: I7abafdb4d02216e1a047f886d5e72ad3420115ce
Reviewed-on: https://gerrit.libreoffice.org/82210
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
While it might not be the original problem, at least that is the current
problem the tinderbox provided builds have and should make it work again
Change-Id: Ifaedb3304622286cfe7a6cb49e862a359b53f892