summaryrefslogtreecommitdiff
path: root/solenv
AgeCommit message (Collapse)Author
2021-09-13loplugin:cow_wrapperNoel Grandin
check the classes that use o3tl::cow_wrapper so that they don't unnecessarity trigger copies Change-Id: I545e627598217f3e61ba2c384adb8d4f8b404829 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122030 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-11add -DSYSTEM_NSS to flags ignored for system PCHLuboš Luňák
Change-Id: I4afdf324956b0280ceeaf2d18174dedbb091b5b0
2021-09-10vcl: move outdevstate.cxx to stack.cxxChris Sherlock
Change-Id: I674be4eb758178468dbba70cb45d68d009952ebc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121024 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-09tdf#130795 use concurrent hashmap in SharedStringPoolNoel Grandin
we are loading a spreadsheet in parallel here, but the parallel threads achievei very little actual concurrency because of heavy contention in the SharedStringPool mutex. So switch to a concurrent hash map. I looked at a couple of different ones (including the Folly one), and this was the one with the simplest resulting code. This takes my load time from 12.5s to 8s Change-Id: I04d6d8e11d613b510eb3bc981f3338819b7ac813 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121717 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-06vcl: migrate ImplLayoutRuns to own filesChris Sherlock
Wrote a set of unit tests for ImplLayoutRuns, and added ImplLayoutRuns to vcl::text namespace. Change-Id: Id6ae8882acb8e3d821bb38551e78019cbdcaa662 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121204 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-06Flatpak: Upgrade to 21.08 runtime, disable SkiaStephan Bergmann
For whatever reason, building Skia against the 21.08 SDK would fail with > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp: In function ‘void {anonymous}::colrv1_draw_paint(SkCanvas*, const FT_Color*, FT_Face, FT_COLR_Paint)’: > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp:668:14: error: ‘FT_COLR_PAINTFORMAT_TRANSFORMED’ was not declared in this scope; did you mean ‘FT_COLR_PAINTFORMAT_TRANSFORM’? > 668 | case FT_COLR_PAINTFORMAT_TRANSFORMED: { > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | FT_COLR_PAINTFORMAT_TRANSFORM > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp:669:60: error: ‘union FT_COLR_Paint_::<unnamed>’ has no member named ‘transformed’; did you mean ‘transform’? > 669 | SkMatrix transform = ToSkMatrix(colrv1_paint.u.transformed.affine); > | ^~~~~~~~~~~ > | transform > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp: In function ‘bool {anonymous}::colrv1_traverse_paint(SkCanvas*, const FT_Color*, FT_Face, FT_OpaquePaint)’: > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp:763:14: error: ‘FT_COLR_PAINTFORMAT_TRANSFORMED’ was not declared in this scope; did you mean ‘FT_COLR_PAINTFORMAT_TRANSFORM’? > 763 | case FT_COLR_PAINTFORMAT_TRANSFORMED: > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > | FT_COLR_PAINTFORMAT_TRANSFORM > /run/build/libreoffice/workdir/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.cpp:768:74: error: ‘union FT_COLR_Paint_::<unnamed>’ has no member named ‘transformed’; did you mean ‘transform’? > 768 | colrv1_traverse_paint(canvas, palette, face, paint.u.transformed.paint); > | ^~~~~~~~~~~ > | transform > make[1]: *** [/run/build/libreoffice/solenv/gbuild/LinkTarget.mk:347: /run/build/libreoffice/workdir/GenCxxObject/UnpackedTarball/skia/src/ports/SkFontHost_FreeType_common.o] Error 1 But including Skia in the Linux flatpak isn't too useful anyway (and just happened to be on by default): First, it is disabled by default on Linux, cf. UseSkia in officecfg/registry/data/org/openoffice/Office/Common.xcu. And second, on Linux it can only be enabled for SAL_USE_VCLPLUGIN=gen, but not for the gtk3 plugin that the flatpak normally uses, cf. OfaViewTabPage::UpdateSkiaStatus in cui/source/options/optgdlg.cxx. Change-Id: Ifdc9c23676280caf19db0e9f09df15aaa21eef5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121705 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-09-06tdf#138255 use GtkSpinButton in SwGotoPageDlgtobias
Use GtkSpinButton instead of GtkEntry in SwGotoPageDlg analogous to the widget in SwNavigationPI. Change-Id: I0ddb4433bea23d8f3d460bd69f30a10b8f7ce984 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121688 Tested-by: Jenkins Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-09-05Adapt solenv/flatpak-manifest.in to recent download.lst changesStephan Bergmann
Change-Id: I88ff67fc9922adc7e6c751c76425c68701512481 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121599 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-09-01sc: do not use dashes in the file namesXisco Fauli
underscores are used predominantly Change-Id: I4a51903a2c7712f463b10a56c7466077544adfee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121408 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-31flatten SfxObjectShellArr_ImplNoel Grandin
Change-Id: I97e3ea18ce17c63ae95d7755a32c602b88373370 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-31vcl: move RemoveTransparenciesFromMetaFile() to outdev/transparent.cxxChris Sherlock
Don't know why an OutputDevice function was used in print2.cxx, but definitely needs to be in the outdev source directory, and transparent.cxx is the most appropriate place to add this. To be honest, that function only operates on metafiles, so perhaps we should make this part of GDIMetafile, so added a TODO. Also, a number of local header files (all to do with PDFs) needed to become module local headers, so I have moved these to the vcl/inc/pdf directory. Change-Id: I1feb8e5e8aedc7399740a035beacd2dad3de317f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121321 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-31flatten SfxTbxCtrlFactArr_ImplNoel Grandin
Change-Id: I422aeeb446a49fa4449eabe0c3643f125856db12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121330 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-31flatten SfxChildWinFactArr_ImpNoel Grandin
it's just a vector with no additional intelligence Change-Id: I91d014783e79130689b4f6eadb3ef6d8486227e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121324 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-30vcl: move BitmapEx related functions to outdev/bitmapex.cxxChris Sherlock
Change-Id: I93d94d3043263b97ae9f9078a8afc6016c1a3531 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115472 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-27Related tdf#119931 - Fix accessibility warningsHeiko Tietze
Change-Id: I69787778f11217a55daa1489c142561db5efce19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121139 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-27Improve accessibility for application color settingsHeiko Tietze
* Lengthy grid replaced by some frames * Order of sections updated to show less important on bottom * Accessibility suppressions removed and solved Change-Id: I150603d141961cf579c1853ea3e67499da81c596 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121137 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-08-27vcl: move OutputDevice fill functions to fill.cxxChris Sherlock
Add unit test for SetFillColor(), IsFillColor() and GetFillColor(). Change-Id: I64b3b15d6c6a0062af716ecc02d0414ae8a9f134 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115461 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-27vcl: SvmConverter is only used in vcl filtersChris Sherlock
Change-Id: If198b143d520937193b63985b4c21da0e29308bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120834 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-26remove unused suppressionCaolán McNamara
Change-Id: Icd46ff6b6ff1ccf6be8248482d9f5fbbce073445 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121120 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-26tdf#135164 add unit testJustin Luth
fixed by tdf#143605, but that was a bit different, so adding a specific docx unit test. Change-Id: I9f5a6b225277f1c1fdbfed7759919b3fd6e5dea5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121008 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org>
2021-08-24upload libmwaw 0.3.20David Tardon
Change-Id: Ia73117e06f843bcdd228da018fe3f34af6405653 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120621 Tested-by: Jenkins Reviewed-by: David Tardon <dtardon@redhat.com>
2021-08-23fix ObjC/C++ generated sources linking on MacLuboš Luňák
Change-Id: I4d4a2abdf762e5442d89ce9b6475753e1f43f314 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120802 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-08-22Give gengal invocations their own UserInstallationsStephan Bergmann
Building e.g. Gallery_backgrounds tries to access a UserInstallation at various places, first at > #0 0x00007ffff29b0302 in EmbeddedFontsHelper::clearTemporaryFontFiles() () at vcl/source/gdi/embeddedfontshelper.cxx:60 > #1 0x00007ffff2dd6bb4 in InitVCL() () at vcl/source/app/svmain.cxx:304 > #2 0x00007ffff2dd66b6 in ImplSVMain() () at vcl/source/app/svmain.cxx:190 > #3 0x00007ffff2dd6898 in SVMain() () at vcl/source/app/svmain.cxx:231 > #4 0x000000000041215d in sal_main() () at vcl/source/salmain/salmain.cxx:34 It would either access the real UserInstallation (if the bootstrap ini-file has already been delivered to instdir) or try to access some (typically non- existent) /user. That appears to be generally harmless, but to be on the safe side, pass the gengal invocation an explicit UserInstallation in workdir (which does not exist, and does not get populated, but just prevents accidentally accessing a real UserInstallation). Change-Id: Idc709a4bd44ce0dddbafaac25141215730808fca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120838 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-22gengal needs Library_localedata_en nowStephan Bergmann
Whatever caused that requirement, but a from-scratch build of e.g. Gallery_backgrounds failed for me (with a follow-on SIGABRT after "framework/source/services/desktop.cxx:176: Desktop::~Desktop(): Who forgot to dispose this service?") because it failed to load instdir/program/../program/liblocaledata_en.so at > #1 0x00007fffda0b9671 in i18npool::LocaleDataImpl::getFunctionSymbol(com::sun::star::lang::Locale const&, char const*) (this=0x159b630, rLocale=..., pFunction=0x7fffda136ed8 "getAllFormats0") at i18npool/source/localedata/localedata.cxx:1460 > #2 0x00007fffda0b6a93 in i18npool::LocaleDataImpl::FormatSection::getFunc(i18npool::LocaleDataImpl&, com::sun::star::lang::Locale const&, char const*) (this=0x7fffffffc840, rLocaleData=..., rL=..., pName=0x7fffda136ed8 "getAllFormats0") at i18npool/source/localedata/localedata.cxx:857 > #3 0x00007fffda0b6b5c in i18npool::LocaleDataImpl::getAllFormats(com::sun::star::lang::Locale const&) (this=0x159b630, rLocale=...) at i18npool/source/localedata/localedata.cxx:865 > #4 0x00007fffda0d4815 in NumberFormatCodeMapper::getFormats(com::sun::star::lang::Locale const&) (this=0x1594fa0, rLocale=...) at i18npool/source/numberformatcode/numberformatcode.cxx:150 > #5 0x00007fffda0d4155 in NumberFormatCodeMapper::getAllFormatCode(short, com::sun::star::lang::Locale const&) (this=0x1594fa0, formatUsage=8, rLocale=...) at i18npool/source/numberformatcode/numberformatcode.cxx:92 > #6 0x00007ffff572a824 in LocaleDataWrapper::loadCurrencyFormats() (this=0x159b3f0) at unotools/source/i18n/localedatawrapper.cxx:544 > #7 0x00007ffff572777e in LocaleDataWrapper::loadData() (this=0x159b3f0) at unotools/source/i18n/localedatawrapper.cxx:131 > #8 0x00007ffff57271b4 in LocaleDataWrapper::LocaleDataWrapper(LanguageTag const&, std::__debug::vector<rtl::OUString, std::allocator<rtl::OUString> > const&) (this=0x159b3f0, rLanguageTag=..., rOverrideDateAcceptancePatterns=std::__debug::vector of length 0, capacity 0) at unotools/source/i18n/localedatawrapper.cxx:80 > #9 0x00007ffff5766fd6 in SvtSysLocale_Impl::SvtSysLocale_Impl() (this=0x158a4e0) at unotools/source/misc/syslocale.cxx:67 > #10 0x00007ffff5768ad7 in std::construct_at<SvtSysLocale_Impl>(SvtSysLocale_Impl*) (__location=0x158a4e0) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/stl_construct.h:97 > #11 0x00007ffff5768b1c in std::allocator_traits<std::allocator<SvtSysLocale_Impl> >::construct<SvtSysLocale_Impl>(std::allocator<SvtSysLocale_Impl>&, SvtSysLocale_Impl*) (__a=..., __p=0x158a4e0) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/alloc_traits.h:514 > #12 0x00007ffff57688c2 in std::_Sp_counted_ptr_inplace<SvtSysLocale_Impl, std::allocator<SvtSysLocale_Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<SvtSysLocale_Impl>) (this=0x158a4d0, __a=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr_base.h:519 > #13 0x00007ffff576860a in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SvtSysLocale_Impl, std::allocator<SvtSysLocale_Impl>>(SvtSysLocale_Impl*&, std::_Sp_alloc_shared_tag<std::allocator<SvtSysLocale_Impl> >) (this=0x7fffffffd0a8, __p=@0x7fffffffd0a0: 0x0, __a=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr_base.h:650 > #14 0x00007ffff57684c6 in std::__shared_ptr<SvtSysLocale_Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<SvtSysLocale_Impl>>(std::_Sp_alloc_shared_tag<std::allocator<SvtSysLocale_Impl> >) (this=0x7fffffffd0a0, __tag=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr_base.h:1342 > #15 0x00007ffff576838d in std::shared_ptr<SvtSysLocale_Impl>::shared_ptr<std::allocator<SvtSysLocale_Impl>>(std::_Sp_alloc_shared_tag<std::allocator<SvtSysLocale_Impl> >) (this=0x7fffffffd0a0, __tag=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr.h:409 > #16 0x00007ffff5768164 in std::allocate_shared<SvtSysLocale_Impl, std::allocator<SvtSysLocale_Impl>>(std::allocator<SvtSysLocale_Impl> const&) (__a=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr.h:863 > #17 0x00007ffff5767dfc in std::make_shared<SvtSysLocale_Impl>() () at ~/gcc/trunk/inst/include/c++/12.0.0/bits/shared_ptr.h:879 > #18 0x00007ffff5767583 in SvtSysLocale::SvtSysLocale() (this=0x7fffffffd120) at unotools/source/misc/syslocale.cxx:122 > #19 0x00007ffff015148f in FwkResId(TranslateId) (aId=...) at framework/source/fwe/classes/fwkresid.cxx:22 > #20 0x00007ffff025f333 in framework::Desktop::constructorInit() (this=0x1588850) at framework/source/services/desktop.cxx:106 > #21 0x00007ffff0265c1c in (anonymous namespace)::createDesktop(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (context=...) at framework/source/services/desktop.cxx:1764 > #22 0x00007ffff0265ce5 in framework::getDesktop(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (context=...) at framework/source/services/desktop.cxx:1773 > #23 0x00007ffff0265d9e in com_sun_star_comp_framework_Desktop_get_implementation(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (context=0x522200) at framework/source/services/desktop.cxx:1782 > #24 0x00007ffff5a5d864 in std::__invoke_impl<com::sun::star::uno::XInterface*, com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(std::__invoke_other, com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (__f=@0x54bb58: 0x7ffff0265d5f <com_sun_star_comp_framework_Desktop_get_implementation(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/invoke.h:61 > #25 0x00007ffff5a551f4 in std::__invoke_r<com::sun::star::uno::XInterface*, com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (__fn=@0x54bb58: 0x7ffff0265d5f <com_sun_star_comp_framework_Desktop_get_implementation(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/invoke.h:114 > #26 0x00007ffff5a4d254 in std::_Function_handler<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::_M_invoke(std::_Any_data const&, com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) (__functor=..., __args#0=@0x7fffffffd4f0: 0x522200, __args#1=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/std_function.h:291 > #27 0x00007ffff5a3f913 in std::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) const (this=0x54bb58, __args#0=0x522200, __args#1=...) at ~/gcc/trunk/inst/include/c++/12.0.0/bits/std_function.h:568 > #28 0x00007ffff5a2a396 in cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x54baa0, context=...) at cppuhelper/source/servicemanager.cxx:704 > #29 0x00007ffff5a2a12a in cppuhelper::ServiceManager::Data::Implementation::createInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, bool) (this=0x54baa0, context=..., singletonRequest=false) at cppuhelper/source/servicemanager.cxx:672 > #30 0x00007ffff5a2d02d in cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x523450, aServiceSpecifier=..., Context=...) at cppuhelper/source/servicemanager.cxx:1003 > #31 0x00007ffff6cd9922 in com::sun::star::frame::Desktop::create(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (the_context=...) at workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/frame/Desktop.hpp:38 > #32 0x00007ffff6cd8c07 in SfxApplication::Initialize_Impl() (this=0x1588150) at sfx2/source/appl/appinit.cxx:182 > #33 0x00007ffff6cb776a in SfxApplication::GetOrCreate() () at sfx2/source/appl/app.cxx:122 > #34 0x0000000000405ecf in (anonymous namespace)::GalApp::Main() (this=0x4204e0 <vclmain::createApplication()::aGalApp>) at svx/source/gengal/gengal.cxx:254 > #35 0x00007ffff2dd6777 in ImplSVMain() () at vcl/source/app/svmain.cxx:199 > #36 0x00007ffff2dd6898 in SVMain() () at vcl/source/app/svmain.cxx:231 > #37 0x0000000000410f1f in sal_main() () at vcl/source/salmain/salmain.cxx:34 > #38 0x0000000000410efa in main(int, char**) (argc=10, argv=0x7fffffffded8) at vcl/source/salmain/salmain.cxx:29 This fix should remove the need for the cross-build--only fix 0e142fa01972ad28182ca54b855d0ecae0d5c83b "cross-toolset: gengal now needs localedata_en", which it reverts. Change-Id: If71b7249c19619a83911c7624e3d99077decba31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120837 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-20Enable automatic code style formatting for subsequent_export-test.cxxBartosz Kosiorek
As subsequent_export-test.cxx code style is following the recommended code style (except too long lines and minor formattings), the code is used only for testing and it is rarely modified (mainly adding new test cases), I decided to enable automatic code formatting. It is one step closer to migrate to common code style. Change-Id: Iaa6c243fab45c37cb01672633717577651916c3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120706 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2021-08-20New loplugin:unusedcapturedefaultStephan Bergmann
In sc/qa/unit/ucalc_formula.cxx, dropping the capture-default from the lExpectedinF lambda revealed that MSVC in C++17 mode (i.e., when building without --with-latest-c++) requires ROW_RANGE (a local const int variable from the enclosing TestFormula::testTdf97369) to be captured, even though all uses of that variable within the lambda body are constant expressions. That is still true at least for the latest Visual Studio 2019 version 16.11.1. (This is not an issue for the lExpectedinH and lExpectedinI lambdas a few lines further down, as they, in addition to using that ROW_RANGE, also use the local const double variables SHIFT1 and SHIFT2, whose uses are not constant expressions, so they are implicitly captured and loplugin:unusedcapturedefault does not suggest dropping those lambdas' capture-defaults in the first place.) Change-Id: Iee7efb485187cbe8eba6a2d470afca4993eb1816 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120693 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-20Make some scripts more portableIlmari Lauhakangas
Change-Id: Ia89059eea51ca396a7c74143625ac9a6706de198 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120773 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-08-19vcl: move background functions to background.cxxChris Sherlock
Change-Id: Iee2e42f3881512d2e779d16505c50f76731e398a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115369 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-18Sync flatpak-manifest.in with FlathubStephan Bergmann
...including <https://github.com/flathub/org.libreoffice.LibreOffice/commit/2add5864d55a5cbe376da8a342549a8dbf46387b> "Merge pull request #158 from flathub/extensions: Add an org.libreoffice.LibreOffice.BundledExtension extension point" Change-Id: I1a1515e8ece2d8aec83abb6c8775f784083573a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120667 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-13tdf#143357 use a DateFormatter and a separate Calendar menubuttonCaolán McNamara
similar to what we ended up with in DateControl in svtools/source/brwbox/ebbcontrols.cxx Change-Id: I37c843ff7e1e8e39b318db80fe590ce5f796f46a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119082 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-11gtk4: get startcenter MenuToggleButton workingCaolán McNamara
the button parts, not the menu part yet Change-Id: I016d2c2160a4e8c0c4d1e096f49d0e518b89a55b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120326 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-10for DISABLE_DYNLOADING support linking to static .a system libsCaolán McNamara
Change-Id: I0b7e07c93f7314506c5b99847b53c09f4fc6d31c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120261 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-10Upgrade external/boost to latest Boost 1.76.0Stephan Bergmann
* <https://dev-www.libreoffice.org/src/boost_1_76_0.tar.xz> has been generated (on Fedora 34) with > $ wget https://boostorg.jfrog.io/native/main/release/1.76.0/source/boost_1_76_0.tar.bz2 > $ printf 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 boost_1_76_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_76_0.html> > boost_1_76_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_76_0.tar.bz2 > Unpacking boost_1_76_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_76_0.tar.xz ... > Cleaning up ... > adfa0ca971c56006a8304b6146d1382e6369815d568f6e6a7440fe29995d51b8 boost_1_76_0.tar.xz > Done. * external/boost/0001-Fix-include-inside-boost-namespace.patch.2 is necessary to fix > checking for boost/math/constants/constants.hpp... no > configure: error: Required boost headers not found. > make[1]: *** [external/libzmf/ExternalProject_libzmf.mk:28: workdir/ExternalProject/libzmf/build] Error 1 with recent libstdc++ 12 trunk (presumably since <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=261d5a4a459bd49942e53bc83334ccc7154a09d5> "libstdc++: Reduce header dependencies on <array> and <utility>", and with other standard libraries <utility> was likely already included indirectly earlier, so the include nested in namespace boost::math::tools::meta_programming in the middle of workdir/UnpackedTarball/boost/boost/math/tools/mp.hpp didn't cause harm). Change-Id: I1eee23915fea48bbb383cbeefc4ddfdeaac63e14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120253 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-09remove unneeded -ldl for DISABLE_DYNLOADINGCaolán McNamara
I think we only had -ldl in here for -lpthread which is gone now Change-Id: I8a52a5cd4aeae8aff793c98b7f55d7a73e068b9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120196 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-08no need to allocate ControlLayoutData separatelyNoel Grandin
Change-Id: I239befdaa05beea5200c81f23d0af861c9fc3baa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120177 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-07Create destination directory also for non-empty sourcepath directoryEike Rathke
Do not attempt to copy anything. This can happen with instdir/share/extensions being populated from some build (e.g. by dictionaries) but no extension to be installed. The result was ERROR: Can't copy file: /build/core/instdir/share/extensions -> /build/usr/opt/core/lib/libreoffice/share/extensions Is a directory at /build/core/solenv/bin/modules/installer/worker.pm line 350. and the copy() created the destination as 0-length file instead. The recent changes not copying extensions/packages.txt anymore and related may have triggered this: 6c487d2d7e8aa5cdef55cbd7bc78058184671d82 Fix and simplify "any bundled extensions installed" check 626050e86b7d5ca0c3bfc265cc33ce8e9d1bf195 gb_Package_Package must specify a directory f267340d300da6318435ed1b2ae48b9f4275e2c4 Remove unused $(LIBO_SHARE_FOLDER)/extensions/package.txt Change-Id: I93c1b0867bf234255fdef9d31c447b9b20011e17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120164 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-08-05merge accel.h and accel.hxx now both are vcl internalsCaolán McNamara
Change-Id: If73604d1e329f089a357021bdce2163f6f059160 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120014 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-05vcl/accel.hxx is not used outside vclCaolán McNamara
Change-Id: I6b3debabe2c927f5ce3962fe97d944c07153028b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120013 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-05Avoid ODR violation, consistently define ZLIB_CONSTStephan Bergmann
At least my --enable-lto --enable-mergelibs build diagnosed > [build LNK] Library/libmergedlo.so > workdir/UnpackedTarball/zlib/zlib.h:86:16: warning: type ‘struct z_stream_s’ violates the C++ One Definition Rule [-Wodr] > 86 | typedef struct z_stream_s { > | ^ > workdir/UnpackedTarball/zlib/zlib.h:86: note: a different type is defined in another translation unit > 86 | typedef struct z_stream_s { > | > workdir/UnpackedTarball/zlib/zlib.h:87:20: note: the first difference of corresponding definitions is field ‘next_in’ > 87 | z_const Bytef *next_in; /* next input byte */ > | ^ > workdir/UnpackedTarball/zlib/zlib.h:87: note: a field of same name but different type is defined in another translation unit > 87 | z_const Bytef *next_in; /* next input byte */ > | (And ZLIB_CONST then required a small adaption in tools/source/zcodec/zcodec.cxx, plus some loplugin:redundantcast. And gb_PrecompiledHeader_ignore_flags_system had to be updated to avoid errors like > Error reusing pch/inc/pch/precompiled_system by Library_wpftdraw. > precompiled header flags : -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MEM_FN_ENABLE_CDECL -DBOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=msci -DDBG_UTIL -DEXCEPTIONS_ON -DINTEL -DNOMINMAX -DOSL_DEBUG_LEVEL=1 -DPCH_LEVEL=4 -DSAL_LOG_INFO -DSAL_LOG_WARN -DWIN32 -DWNT -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_DEBUG -D_DLL -D_HAS_AUTO_PTR_ETC -D_MT -D_REENTRANT -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 -D_X86_=1 -EHs -GR -GS -Gd -Gs -Gy -MDd -Od -W4 -Wv:18 -Zc:__cplusplus -Zm500 -bigobj -nologo -permissive- -std:c++17 -utf-8 -wd4127 -wd4201 -wd4244 -wd4250 -wd4251 -wd4267 -wd4275 -wd4505 -wd4611 -wd4706 > object flags : -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MEM_FN_ENABLE_CDECL -DBOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=msci -DDBG_UTIL -DEXCEPTIONS_ON -DINTEL -DNOMINMAX -DOSL_DEBUG_LEVEL=1 -DPCH_LEVEL=4 -DSAL_LOG_INFO -DSAL_LOG_WARN -DWIN32 -DWNT -DZLIB_CONST -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_DEBUG -D_DLL -D_HAS_AUTO_PTR_ETC -D_MT -D_REENTRANT -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 -D_X86_=1 -EHs -GR -GS -Gd -Gs -Gy -MDd -Od -W4 -Wv:18 -Zc:__cplusplus -Zm500 -bigobj -nologo -permissive- -std:c++17 -utf-8 -wd4127 -wd4201 -wd4244 -wd4250 -wd4251 -wd4267 -wd4275 -wd4505 -wd4611 -wd4706 > reason : -DZLIB_CONST -DZLIB_CONST > Incorrect precompiled header setup or internal gbuild error. > make[1]: *** [C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/writerperfect/Library_wpftdraw.mk:31: C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/workdir/PrecompiledHeader/nodebug/Timestamps/Library_wpftdraw_reuse] Error 1 with --enable-pch.) Change-Id: Iadd3c90a65993ebef98190458762b1c86d425c4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119961 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-05Pass context and resource string down to boost::locale separatelyNoel Grandin
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-04Always provision PATH the cygwin way under WindowsThorsten Behrens
With PATH essentially serving the role of LD_LIBRARY_PATH under Windows, there was the notion that this needs to be provided in Windows notation, for win32 gnumake. That was perhaps once true; currently we're always evaluating PATH inside a shell, not the Makefile. So this since a while only worked accidentally, due to cygwin transparently converting between DOS and UNIX PATH vars. It did break though for corner-cases, e.g. SRCDIR!=BUILDDIR, and BUILDDIR e.g. D:\FOO. With that simplification, also GNUMAKE_WIN_NATIVE can go. Change-Id: Ied5a0443dc70e7dc629c0c0620e6ce911d9a73d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119941 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-07-29Update VS natvis for recent WhichRangesContainer changesMike Kaganski
Change-Id: I2171e88ca4d3404d35fe669c3c7af6ccd817b254 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119617 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-26add gbuild support for ObjC/C++ sources from tarballsLuboš Luňák
Change-Id: I49632bf9dedf9603449fb5bc9e6a819586258b05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119355 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-23do not use "using namespace std" in headersCollabora
It's a bad style, doing that in headers can affect many source files (especially with PCH used). Change-Id: Ic9091a1d018e74606c9fa95df71a55faaa93d4ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119011 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-07-23workaround for apple clang sometimes not generating PCHCollabora
Change-Id: I50a215e0cf3bf7f6f6d6dc86cf89355e2de19c11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119009 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-07-22OPropertySet doesn't need a pimplNoel Grandin
also inline some of the standalone lambda/functor classes Change-Id: I0a19a1d3cb7f5b3d02348f1ab57bae08b3ab089a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119379 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22tdf#95394 - ui fill dialog from (bitmap -> image)haru-02
Change-Id: Ib30eb0489e8cad2d417bc8638204b95f4acee936 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119115 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-07-21Avoid external processes picking up instdir/program/libnspr4.soStephan Bergmann
...which is a problem in ASan builds, as seen with a failing CppunitTest_sd_import_tests (among lots of other similarly failing tests): > Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-5.fc34.x86_64/lib/libsystemconf.so: ~/lo/core/instdir/program/libnspr4.so: undefined symbol: __asan_option_detect_stack_use_after_return > at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) > at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442) > at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498) > at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694) > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648) > at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830) > at java.base/java.lang.System.loadLibrary(System.java:1873) > at java.base/java.security.SystemConfigurator$1.run(SystemConfigurator.java:67) > at java.base/java.security.SystemConfigurator$1.run(SystemConfigurator.java:65) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/java.security.SystemConfigurator.<clinit>(SystemConfigurator.java:65) > at java.base/java.security.Security.initialize(Security.java:208) > at java.base/java.security.Security$2.run(Security.java:93) > at java.base/java.security.Security$2.run(Security.java:91) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/java.security.Security.<clinit>(Security.java:91) > at java.base/sun.security.jca.ProviderList.<init>(ProviderList.java:176) > at java.base/sun.security.jca.ProviderList$2.run(ProviderList.java:94) > at java.base/sun.security.jca.ProviderList$2.run(ProviderList.java:92) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/sun.security.jca.ProviderList.fromSecurityProperties(ProviderList.java:91) > at java.base/sun.security.jca.Providers.<clinit>(Providers.java:54) > at java.base/java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:264) > at java.base/java.security.SecureRandom.<init>(SecureRandom.java:219) > at java.base/java.util.UUID$Holder.<clinit>(UUID.java:101) > at java.base/java.util.UUID.randomUUID(UUID.java:147) > at org.probatron.officeotron.sessionstorage.Store.putZippedResource(Unknown Source) > at org.probatron.officeotron.CommandLineSubmission.<init>(Unknown Source) > at org.probatron.officeotron.Driver.main(Unknown Source) > warn:svl.items:1258842:1258842:svl/source/items/itempool.cxx:358: old secondary pool: EditEngineItemPool of pool: XOutdevItemPool must be empty. > ~/lo/core/test/source/bootstrapfixture.cxx:232:SdImportTest::testDocumentLayout > equality assertion failed > - Expected: 0 > - Actual : 256 > - failed to execute: sh ~/lo/core/bin/officeotron.sh ~/lo/tmp/SdImportTest__testDocumentLayout_16w8dw.tmp > ~/lo/tmp/SdImportTest__testDocumentLayout_16w8dy.tmp The solution reuses the arg-env bootstrap variable already used by test::OfficeConnection::setUp (unotest/source/cpp/officeconnection.cxx) and for that makes test::getArgumnet available outside Library_unotest. (For simplicity, it adds the relevant gb_CppunitTest_add_arguments calls unconditionally to the various *.mk files, even though the data is only used conditionally for non-_WIN32 in test::BootstrapFixture::validate in test/source/bootstrapfixture.cxx, at least for now.) Not sure what exactly started to cause this issue now for my ASan builds on Fedora 34. Change-Id: I7a4d6c0e36b94935442c6c91d5ee967fcad61763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119317 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-07-15WhichRangesContainer, reduce malloc in SfxItemSetNoel Grandin
SfxItemSet shows up in perf profiles frequently, and the hottest part is the malloc of the two arrays we need. But most of the time, one of those arrays is a compile-time constant. So this change introduces (*) WhichRangesContainer, which manages whether the SfxItemSet owns the array it points at or not. (*) a static const member in svl::Items (idea from mkaganski) to store the data. Change-Id: Icb8cdbc4d54fd76739565c575e16a744515e5355 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118703 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-14new loplugin:weakobjectNoel Grandin
find classes with more than one copy of OWeakObject in their inheritance hierarchy, which is dodgy Change-Id: I4e31bd6db03d25d934b736bd6a9c1b665f976ee2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118855 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>