Mike Kaganski
b280efcb9b
Drop some uses Sequence::getConstArray
...
Replace by operator[], begin() and end(), which don't have overhead
since commit 2484de6728 (Remove non-
const Sequence::begin()/end() in internal code, 2021-10-15)
and commit fb3c04bd19 (Drop non-const
Sequence::operator[] in internal code, 2021-11-05).
Change-Id: I221470b3439bb0dc6e7705b0d99deb3cd2063484
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195176
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2025-12-07 12:54:23 +01:00
Henry Castro
9e86101902
cppuhelper: add 'm_' prefix to OComponentHelper class members
...
Change-Id: I02a3ce12eb1d02dd28a2eec9beeb9633292975ce
Signed-off-by: Henry Castro <hcastro@collabora.com >
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189882
Tested-by: Jenkins
2025-08-19 13:25:54 +02:00
Mike Kaganski
3b22e7c3aa
tdf#167591: Convert date string to date early
...
To insert a default value, ODatabaseForm gets its value from column
properties, and passes to XColumnUpdate. The problem appeared when
the default was a localized date string, like "20/07/25".
The string was set as the value of a ORowSetValue; then, when its
value was requested, its getDate() called DBTypeConversion::toDate,
which only handles ISO date strings. But for correct conversion, not
only the string is needed, but also its format key. This information
is already lost at that point. The conversion failed, and the result
date was invalid, somewhere in the beginning of CE.
Try to overcome this problem by converting the default value from
date string to date(time) where all the information is available.
Change-Id: I73e96e433895da18cbf6145ffc26b16fa4844452
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188093
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
Tested-by: Jenkins
2025-07-21 08:18:23 +02:00
Mike Kaganski
05e516bd63
Flatten ODatabaseForm::reset_impl a bit
...
Change-Id: I47ad680ef80ed5ed40b329ff83d2c38506a64d54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188085
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2025-07-20 19:50:57 +02:00
Noel Grandin
9b79ae1161
loplugin:blockblock
...
found with a modified copy of this plugin
Change-Id: Ib2ca97c7479abdf1a375e2700f9c947e1101f0e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188065
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2025-07-19 19:11:16 +02:00
Mike Kaganski
04c62acc63
Use std::initializer_list, C-style array instead of more expensive Sequence
...
Change-Id: Ibb268268926cc91f595f19026f6cee4b5a74a8bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178038
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-12-07 19:10:08 +01:00
Xisco Fauli
2bcaafd4a2
PVS: V1048 The 'nConcurrency' variable was assigned the same value.
...
Change-Id: I5819652b2f5ab491b7412e6cb4d0159f640297bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177012
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-11-22 14:12:20 +01:00
Mike Kaganski
56f3dbffdf
Simplify a bit
...
Change-Id: I618b0f8bcb2e8032ee12367c73e1136685f66b3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176183
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-11-08 05:34:20 +01:00
Mike Kaganski
7e5f69aa33
Make tools::Time ctor taking sal_Int64 private
...
This ctor is meant to set the value of nTime directly; and that value
is not nanoseconds, but an encoded value, using SEC_/MIN_/HOUR_MASK.
But in some places, this ctor was misused for setting of nanoseconds,
which would only accidentally work for values less than one second.
All places that initialized tools::Time with 0, now use EMPTY.
This makes the ctor private; and for the very few cases where really
the encoded value of nTime is stored / restored, fromEncodedTime is
introduced.
Change-Id: I1f1994bd9aab1b51a41b1de637619049fe820da4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175283
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-10-21 10:30:58 +02:00
Noel Grandin
f9ff22db05
tsan:lock-order-inversion in forms
...
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=14614)
Cycle in lock order graph: M0 (0x720c004ac190) => M1 (0x720c004a8200) =>
M0
Mutex M1 acquired here while holding mutex M0 in thread T43:
2 osl::Mutex::acquire() /home/noel/libo-tsan/include/osl/mutex.hxx:63
(libuno_cppuhelpergcc3.so.3+0x8fdd9)
3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&)
/home/noel/libo-tsan/include/osl/mutex.hxx:144
(libuno_cppuhelpergcc3.so.3+0x8fdd9)
4 cppu::OBroadcastHelperVar<cppu::OMultiTypeInterfaceContainerHelper,
com::sun::star::uno::Type>::addListener(com::sun::star::uno::Type
const&, com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
const&) /home/noel/libo-tsan/include/cppuhelper/interfacecontainer.h:468
(libuno_cppuhelpergcc3.so.3+0x8fdd9)
5
cppu::OPropertySetHelper::addPropertiesChangeListener(com::sun::star::uno::Sequence<rtl::OUString>
const&,
com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener>
const&) /home/noel/libo-tsan/cppuhelper/source/propshlp.cxx:912
(libuno_cppuhelpergcc3.so.3+0x8fdd9)
6
comphelper::OPropertySetAggregationHelper::addPropertiesChangeListener(com::sun::star::uno::Sequence<rtl::OUString>
const&,
com::sun::star::uno::Reference<com::sun::star::beans::XPropertiesChangeListener>
const&) /home/noel/libo-tsan/comphelper/source/property/propagg.cxx:495
(libcomphelper.so+0x1a1865)
7 comphelper::OPropertySetAggregationHelper::startListening()
/home/noel/libo-tsan/comphelper/source/property/propagg.cxx:466
(libcomphelper.so+0x1a1416)
^^^ Mutex M0 previously acquired by the same thread here:
8
comphelper::OPropertySetAggregationHelper::addPropertyChangeListener(rtl::OUString
const&,
com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener>
const&) /home/noel/libo-tsan/comphelper/source/property/propagg.cxx:488
(libcomphelper.so+0x1a181a)
9 non-virtual thunk to
comphelper::OPropertySetAggregationHelper::addPropertyChangeListener(rtl::OUString
const&,
com::sun::star::uno::Reference<com::sun::star::beans::XPropertyChangeListener>
const&) /home/noel/libo-tsan/comphelper/source/property/propagg.cxx:?
(libcomphelper.so+0x1a181a)
10 frm::OInterfaceContainer::implInsert(int,
com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet>
const&, bool, frm::ElementDescription*, bool)
/home/noel/libo-tsan/forms/source/misc/InterfaceContainer.cxx:787
(libfrmlo.so+0x23e03c)
11 frm::OInterfaceContainer::insertByIndex(int, com::sun::star::uno::Any
const&)
/home/noel/libo-tsan/forms/source/misc/InterfaceContainer.cxx:904
(libfrmlo.so+0x240644)
12 non-virtual thunk to frm::OInterfaceContainer::insertByIndex(int,
com::sun::star::uno::Any const&)
/home/noel/libo-tsan/forms/source/misc/InterfaceContainer.cxx:?
(libfrmlo.so+0x240716)
13 FmXUndoEnvironment::Inserted(FmFormObj*)
/home/noel/libo-tsan/svx/source/form/fmundo.cxx:424
(libsvxcorelo.so+0x41b2a4)
14 FmXUndoEnvironment::Inserted(SdrObject*)
/home/noel/libo-tsan/svx/source/form/fmundo.cxx:336
(libsvxcorelo.so+0x41a982)
15 FmXUndoEnvironment::Notify(SfxBroadcaster&, SfxHint const&)
/home/noel/libo-tsan/svx/source/form/fmundo.cxx:292
(libsvxcorelo.so+0x41a8a0)
16 non-virtual thunk to FmXUndoEnvironment::Notify(SfxBroadcaster&,
SfxHint const&) /home/noel/libo-tsan/svx/source/form/fmundo.cxx:?
(libsvxcorelo.so+0x41acd2)
17 SfxBroadcaster::Broadcast(SfxHint const&)
/home/noel/libo-tsan/svl/source/notify/SfxBroadcaster.cxx:40
(libsvllo.so+0xe7c3d)
18 SdrObjList::InsertObject(SdrObject*, unsigned long)
/home/noel/libo-tsan/svx/source/svdraw/svdpage.cxx:351
(libsvxcorelo.so+0x6fdf3a)
19 FmFormPage::InsertObject(SdrObject*, unsigned long)
/home/noel/libo-tsan/svx/source/form/fmpage.cxx:79
(libsvxcorelo.so+0x3c1e05)
20
SvxDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&) /home/noel/libo-tsan/svx/source/unodraw/unopage.cxx:191
(libsvxcorelo.so+0x850c7b)
21
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&) /home/noel/libo-tsan/sw/source/core/unocore/unodraw.cxx:649
(libswlo.so+0xc30712)
22 non-virtual thunk to
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&) /home/noel/libo-tsan/sw/source/core/unocore/unodraw.cxx:?
(libswlo.so+0xc31732)
23 gcc3::callVirtualMethod(void*, unsigned int, void*,
_typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int,
unsigned long*, double*)
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:87
(libgcc3_uno.so+0xd92a)
24 cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*,
bridges::cpp_uno::shared::VtableSlot,
_typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*,
void*, void**, _uno_Any**)
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:229
(libgcc3_uno.so+0xcc3c)
25 unoInterfaceProxyDispatch
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:409
(libgcc3_uno.so+0xc1f6)
Mutex M0 acquired here while holding mutex M1 in thread T44:
3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&)
/home/noel/libo-tsan/include/osl/mutex.hxx:144
(libcomphelper.so+0x1bde34)
4
comphelper::OPropertyChangeListener::setAdapter(comphelper::OPropertyChangeMultiplexer*)
/home/noel/libo-tsan/comphelper/source/property/propmultiplex.cxx:58
(libcomphelper.so+0x1bde34)
5
comphelper::OPropertyChangeMultiplexer::disposing(com::sun::star::lang::EventObject
const&)
/home/noel/libo-tsan/comphelper/source/property/propmultiplex.cxx:120
(libcomphelper.so+0x1bde34)
6 non-virtual thunk to
comphelper::OPropertyChangeMultiplexer::disposing(com::sun::star::lang::EventObject
const&)
/home/noel/libo-tsan/comphelper/source/property/propmultiplex.cxx:?
(libcomphelper.so+0x1bdf12)
7
cppu::OInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject
const&)
/home/noel/libo-tsan/cppuhelper/source/interfacecontainer.cxx:272
(libuno_cppuhelpergcc3.so.3+0x66524)
8
cppu::OMultiTypeInterfaceContainerHelperInt32::disposeAndClear(com::sun::star::lang::EventObject
const&)
/home/noel/libo-tsan/cppuhelper/source/interfacecontainer.cxx:577
(libuno_cppuhelpergcc3.so.3+0x68af0)
9 cppu::OPropertySetHelper::disposing()
/home/noel/libo-tsan/cppuhelper/source/propshlp.cxx:246
(libuno_cppuhelpergcc3.so.3+0x8be45)
10 comphelper::OPropertySetAggregationHelper::disposing()
/home/noel/libo-tsan/comphelper/source/property/propagg.cxx:366
(libcomphelper.so+0x1a0321)
^^^ Mutex M1 previously acquired by the same thread here:
11 frm::OControlModel::disposing()
/home/noel/libo-tsan/forms/source/component/FormComponent.cxx:705
(libfrmlo.so+0x19eecc)
12 frm::ORichTextModel::disposing()
/home/noel/libo-tsan/forms/source/richtext/richtextmodel.cxx:295
(libfrmlo.so+0x267bdb)
13 cppu::OComponentHelper::dispose()
/home/noel/libo-tsan/cppuhelper/source/component.cxx:159
(libuno_cppuhelpergcc3.so.3+0x4504f)
14 non-virtual thunk to cppu::OComponentHelper::dispose()
/home/noel/libo-tsan/cppuhelper/source/component.cxx:?
(libuno_cppuhelpergcc3.so.3+0x45379)
15 frm::OControlModel::disposing()
/home/noel/libo-tsan/forms/source/component/FormComponent.cxx:708
(libfrmlo.so+0x19ef13)
16 frm::OBoundControlModel::disposing()
/home/noel/libo-tsan/forms/source/component/FormComponent.cxx:1340
(libfrmlo.so+0x1a507f)
17 frm::OEditModel::disposing()
/home/noel/libo-tsan/forms/source/component/Edit.cxx:301
(libfrmlo.so+0x161208)
18 cppu::OComponentHelper::dispose()
/home/noel/libo-tsan/cppuhelper/source/component.cxx:159
(libuno_cppuhelpergcc3.so.3+0x4504f)
19 non-virtual thunk to cppu::OComponentHelper::dispose()
/home/noel/libo-tsan/cppuhelper/source/component.cxx:?
(libuno_cppuhelpergcc3.so.3+0x45379)
20 SdrUnoObj::~SdrUnoObj()
/home/noel/libo-tsan/svx/source/svdraw/svdouno.cxx:214
(libsvxcorelo.so+0x6f471b)
21 FmFormObj::~FmFormObj()
/home/noel/libo-tsan/svx/source/form/fmobj.cxx:119
(libsvxcorelo.so+0x3bd8cf)
22 FmFormObj::~FmFormObj()
/home/noel/libo-tsan/svx/source/form/fmobj.cxx:112
(libsvxcorelo.so+0x3bd985)
23 SdrObject::release()
/home/noel/libo-tsan/svx/source/svdraw/svdobj.cxx:486
(libsvxcorelo.so+0x6634df)
24 rtl::Reference<SdrObject>::~Reference()
/home/noel/libo-tsan/include/rtl/ref.hxx:126 (libsvxcorelo.so+0x61610d)
25 void std::destroy_at<rtl::Reference<SdrObject>
>(rtl::Reference<SdrObject>*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:88
(libsvxcorelo.so+0x61610d)
26 void std::_Destroy<rtl::Reference<SdrObject>
>(rtl::Reference<SdrObject>*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:149
(libsvxcorelo.so+0x61610d)
27 void
std::_Destroy_aux<false>::__destroy<rtl::Reference<SdrObject>*>(rtl::Reference<SdrObject>*,
rtl::Reference<SdrObject>*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:163
(libsvxcorelo.so+0x61610d)
28 void
std::_Destroy<rtl::Reference<SdrObject>*>(rtl::Reference<SdrObject>*,
rtl::Reference<SdrObject>*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:195
(libsvxcorelo.so+0x61610d)
29 void std::_Destroy<rtl::Reference<SdrObject>*,
rtl::Reference<SdrObject> >(rtl::Reference<SdrObject>*,
rtl::Reference<SdrObject>*, std::allocator<rtl::Reference<SdrObject> >&)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:948
(libsvxcorelo.so+0x61610d)
30 std::vector<rtl::Reference<SdrObject>,
std::allocator<rtl::Reference<SdrObject> > >::~vector()
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:735
(libsvxcorelo.so+0x61610d)
31 SdrModel::ClearModel(bool)
/home/noel/libo-tsan/svx/source/svdraw/svdmodel.cxx:623
(libsvxcorelo.so+0x61610d)
32 SwDrawModel::~SwDrawModel()
/home/noel/libo-tsan/sw/source/core/draw/drawdoc.cxx:108
(libswlo.so+0x714650)
33 std::default_delete<SwDrawModel>::operator()(SwDrawModel*) const
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:99
(libswlo.so+0x5a3082)
34 std::__uniq_ptr_impl<SwDrawModel, std::default_delete<SwDrawModel>
>::reset(SwDrawModel*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:211
(libswlo.so+0x5a3082)
35 std::unique_ptr<SwDrawModel, std::default_delete<SwDrawModel>
>::reset(SwDrawModel*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:509
(libswlo.so+0x5a3082)
36 sw::DocumentDrawModelManager::ReleaseDrawModel()
/home/noel/libo-tsan/sw/source/core/doc/DocumentDrawModelManager.cxx:162
(libswlo.so+0x5a3082)
37 SwDoc::~SwDoc()
/home/noel/libo-tsan/sw/source/core/doc/docnew.cxx:585
(libswlo.so+0x5457c8)
38 SwDoc::release() /home/noel/libo-tsan/sw/source/core/doc/doc.cxx:129
(libswlo.so+0x4b8993)
39 rtl::Reference<SwDoc>::clear()
/home/noel/libo-tsan/include/rtl/ref.hxx:193 (libswlo.so+0x104c301)
40 SwDocShell::RemoveLink()
/home/noel/libo-tsan/sw/source/uibase/app/docshini.cxx:444
(libswlo.so+0x104c301)
41 SwDocShell::~SwDocShell()
/home/noel/libo-tsan/sw/source/uibase/app/docshini.cxx:372
(libswlo.so+0x104bf36)
42 SwDocShell::~SwDocShell()
/home/noel/libo-tsan/sw/source/uibase/app/docshini.cxx:362
(libswlo.so+0x104c469)
43 non-virtual thunk to SwDocShell::~SwDocShell()
/home/noel/libo-tsan/sw/source/uibase/app/docshini.cxx:?
(libswlo.so+0x104c469)
44 cppu::OWeakObject::release()
/home/noel/libo-tsan/cppuhelper/source/weak.cxx:230
(libuno_cppuhelpergcc3.so.3+0x105ae7)
45 rtl::Reference<SfxObjectShell>::~Reference()
/home/noel/libo-tsan/include/rtl/ref.hxx:126 (libsfxlo.so+0x5209e5)
46 IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer()
/home/noel/libo-tsan/sfx2/source/doc/sfxbasemodel.cxx:265
(libsfxlo.so+0x5209e5)
47 void
std::destroy_at<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:88
(libsfxlo.so+0x51f4e6)
48 void
std::_Destroy<IMPL_SfxBaseModel_DataContainer>(IMPL_SfxBaseModel_DataContainer*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_construct.h:149
(libsfxlo.so+0x51f4e6)
49 void std::allocator_traits<std::allocator<void>
>::destroy<IMPL_SfxBaseModel_DataContainer>(std::allocator<void>&,
IMPL_SfxBaseModel_DataContainer*)
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:675
(libsfxlo.so+0x51f4e6)
50 std::_Sp_counted_ptr_inplace<IMPL_SfxBaseModel_DataContainer,
std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/shared_ptr_base.h:613
(libsfxlo.so+0x51f4e6)
51 SfxBaseModel::dispose()
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/shared_ptr_base.h:175
(libsfxlo.so+0x4e7c7c)
52 SwXTextDocument::dispose()
/home/noel/libo-tsan/sw/source/uibase/uno/unotxdoc.cxx:562
(libswlo.so+0x13896e1)
53 SfxBaseModel::close(unsigned char)
/home/noel/libo-tsan/sfx2/source/doc/sfxbasemodel.cxx:1526
(libsfxlo.so+0x4eed16)
54 SwXTextDocument::close(unsigned char)
/home/noel/libo-tsan/sw/source/uibase/uno/unotxdoc.cxx:575
(libswlo.so+0x138999c)
55 non-virtual thunk to SwXTextDocument::close(unsigned char)
/home/noel/libo-tsan/sw/source/uibase/uno/unotxdoc.cxx:?
(libswlo.so+0x1389ad3)
56 gcc3::callVirtualMethod(void*, unsigned int, void*,
_typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int,
unsigned long*, double*)
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:87
(libgcc3_uno.so+0xd92a)
Change-Id: Ie16fc0ff7462632a591a46025a38344006d43c30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173068
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2024-09-09 16:08:42 +02:00
Noel Grandin
07db236244
tsan:lock-order-inversion in forms
...
ThreadSanitizer: lock-order-inversion (potential deadlock)
Cycle in lock order graph: M0 (0x720c00011640) => M1 (0x720c00474120) =>
M0
Mutex M1 acquired here while holding mutex M0 in thread T8:
3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&)
4
comphelper::OPropertySetAggregationHelper::setAggregation(com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
const&)
^^ acquires cppu mutex
5 frm::ODatabaseForm::impl_construct()
6
frm::ODatabaseForm::ODatabaseForm(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
7 com_sun_star_comp_forms_ODatabaseForm_get_implementation
12
cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
13
cppuhelper::ServiceManager::Data::Implementation::createInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&, bool)
14 cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString
const&,
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
15 cppuhelper::ServiceManager::createInstance(rtl::OUString const&)
16 non-virtual thunk to
cppuhelper::ServiceManager::createInstance(rtl::OUString const&)
17 FmFormPageImpl::getDefaultForm()
18
FmFormPageImpl::findPlaceInFormComponentHierarchy(com::sun::star::uno::Reference<com::sun::star::form::XFormComponent>
const&,
com::sun::star::uno::Reference<com::sun::star::sdbc::XDataSource>
const&, rtl::OUString const&, rtl::OUString const&, int)
19 FmXUndoEnvironment::Inserted(FmFormObj*)
20 FmXUndoEnvironment::Inserted(SdrObject*)
21 FmXUndoEnvironment::Notify(SfxBroadcaster&, SfxHint const&)
22 non-virtual thunk to FmXUndoEnvironment::Notify(SfxBroadcaster&,
SfxHint const&)
23 SfxBroadcaster::Broadcast(SfxHint const&)
24 SdrObjList::InsertObject(SdrObject*, unsigned long)
25 FmFormPage::InsertObject(SdrObject*, unsigned long)
26
SvxDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
27
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
^^ acquires solar mutex
28 non-virtual thunk to
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
33 binaryurp::IncomingRequest::execute() const
35 cppu_threadpool::JobQueue::enter(void const*, bool)
Mutex M0 acquired here while holding mutex M1 in thread T8:
6 SolarMutexClearableGuard::SolarMutexClearableGuard()
7 SfxModelGuard::SfxModelGuard(SfxBaseModel const&,
SfxModelGuard::AllowedModelState)
^^ acquires solar mutex
8 SfxBaseModel::getArgs2(com::sun::star::uno::Sequence<rtl::OUString>
const&)
9 SfxBaseModel::getArgs()
10 SwXTextDocument::getArgs()
11 non-virtual thunk to SwXTextDocument::getArgs()
12
dbtools::isEmbeddedInDatabase(com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
const&,
com::sun::star::uno::Reference<com::sun::star::sdbc::XConnection>&)
13 frm::ODatabaseForm::setFastPropertyValue_NoBroadcast(int,
com::sun::star::uno::Any const&)
15 cppu::OPropertySetHelper::setFastPropertyValue(int,
com::sun::star::uno::Any const&)
^^ acquires cppu mutex
16 comphelper::OPropertySetAggregationHelper::setFastPropertyValue(int,
com::sun::star::uno::Any const&)
17 cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&,
com::sun::star::uno::Any const&)
18 non-virtual thunk to
cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&,
com::sun::star::uno::Any const&)
20 cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*,
bridges::cpp_uno::shared::VtableSlot,
_typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*,
void*, void**, _uno_Any**)
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:229
(libgcc3_uno.so+0x2118a)
22 binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*,
std::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny>
>*) const
23 binaryurp::IncomingRequest::execute() const
Change-Id: I00de2ad02b7ab247ee0aa62abcb11f5d46c9b157
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173067
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Tested-by: Jenkins
2024-09-09 16:08:33 +02:00
Noel Grandin
ab704c00fd
tdf#161865 Base Table Design View not editable
...
we had an ODR violation with a constant named PROPERTY_DATASOURCE which
is also defined inside dbaccess
regression from
commit bacb92275c
"add dbu to --enable-mergelibs=more"
Change-Id: I315ba82e0bccc49e01bd6a438b7e671b971410dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170939
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org >
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-07-24 16:43:42 +02:00
Mike Kaganski
493b8ab997
Simplify comphelper::query_aggregation
...
Change-Id: Id673c27e21c6706367f2effc92bbea61c83a5482
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170133
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-07-09 05:46:19 +02:00
Noel Grandin
1eaae3966d
loplugin:ostr in forms
...
Change-Id: Ifee5d86b54aa746dbd3b17ff966794f32fbc23bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167303
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2024-05-08 11:15:40 +02:00
Noel Grandin
7de4661827
no need to use SvLockBytes in forms
...
Change-Id: Ide586997d504e0fbdb72aa1db77c49ba3d6007c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161437
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2023-12-30 13:45:53 +01:00
Stephan Bergmann
6581f028f8
Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: forms
...
Change-Id: Ifab0f06a776a9c505508781018300c7ce5d46436
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158194
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2023-10-19 20:21:47 +02:00
Noel Grandin
3a0c5b7820
loplugin:stringadd in editeng..framework
...
after my patch to merge the bufferadd loplugin into stringadd
Change-Id: Ieac16a01fde6467a2f6fe47864069304a3c44e47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149552
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2023-03-25 07:27:34 +00:00
Noel Grandin
767092fe2c
loplugin:referencecasting look for a new pattern
...
Change-Id: Ib7ded8db2c513909159f0876389f63b60082a529
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141618
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2022-10-21 15:50:35 +02:00
Stephan Bergmann
91ba9654ba
Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx
...
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2022-08-18 17:10:19 +02:00
Stephan Bergmann
efdf328a71
Just use Any ctor instead of makeAny in forms
...
Change-Id: I25183cc06728c81e45b28fd41071c15abf05bbc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133809
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2022-05-04 12:11:29 +02:00
Julien Nabet
6dcd73f505
Simplify sequence of PropertyValue in forms
...
Change-Id: Iab1af5c8d8d824ef2a4be471395f174cadabfc1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129583
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2022-02-07 07:56:16 +01:00
Gabor Kelemen
e3206e6740
Recheck modules [e-f]* with IWYU
...
See tdf#42949 for motivation
Change-Id: I49a3ce10dee4b03f99156f5b641f69448e1d5617
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128479
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de >
2022-01-17 01:33:35 +01:00
Noel Grandin
17950f4d20
use less SvStream::Flush()
...
Flush() turns into a sync() on the device, which is pretty slow.
Most of the time all we actually want to do is to flush the internal
buffers from the SvStream.
So expose the FlushBuffer method and use that where possible.
And also means we don't need the mbDontFlushOnClose flag on SvStream
any more.
Change-Id: Ibe089b88b325f0fdc565200a97ce72cd26b7fcfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128214
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2022-01-10 17:59:45 +01:00
Noel Grandin
489bce5986
loplugin:flatten in filter..framework
...
Change-Id: I15a577b3c6da03001bbbf2c2b43b29b41c4007c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127234
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2021-12-21 17:14:14 +01:00
Noel Grandin
7994791e0a
use more OInterfaceContainer3::notifyEach
...
Change-Id: I0dd6e9f1514792e73a31e81896d09c27c1912318
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126966
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2021-12-17 07:26:25 +01:00
Noel Grandin
f9f5c9f0d6
replace comphelper::OListenerContainer with OInterfaceContainerHelper3
...
OInterfaceContainerHelper3 is in wide use and can do the same thing with
less ceremony
Change-Id: I5252738d6b7bda6245c66da46352944ead79bd52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2021-12-03 20:42:00 +01:00
Noel Grandin
9f18e327a1
use more OInterfaceContainerHelper3 in forms
...
Change-Id: Ie4a6124beccb55c983b8d4f63c86ec5f2869e9c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125956
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2021-11-28 11:40:17 +01:00
Julien Nabet
01878ce321
Replace some macros in forms part 17
...
Remove FRM_RES_STRING + PROP + PROPERTY_FLAGS
Change-Id: I11befedbe83ad9d7c3f3f4d689230ffe422c0770
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124830
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-08 07:04:47 +01:00
Julien Nabet
40a5ba66a8
Replace some macros in forms part 10
...
Remove DECL_PROP_IMPL
Change-Id: I4ba5e3252058b137cd314f0aed0caf60bb347852
Change-Id: Icfda67a31f465ebfe0c13761bdbdf9b024605dc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124785
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-06 10:49:45 +01:00
Julien Nabet
b4c4ca39d7
Replace some macros in forms part 9
...
Change-Id: I3bd6e118455c8ce86650797e05b7e40ca066eb53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124784
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-06 08:13:40 +01:00
Julien Nabet
642a033935
Replace some macros in forms part 8
...
Remove END_DESCRIBE_PROPERTIES
Change-Id: I844b71cd74f2b2c5306d0ad979ed56480892268c
Change-Id: Ia0aa75a3042ecc47bf434afb0de971d35ab78dfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124783
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-05 23:34:46 +01:00
Julien Nabet
7b6554851f
Replace some macros in forms part 6
...
Remove DECL_BOOL_PROP_IMPL + BEGIN_DESCRIBE_BASE_PROPERTIES
Change-Id: I1a55c9de46ae741045002241a2b0f5dfa32db8c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124777
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-05 20:09:24 +01:00
Julien Nabet
5bfbaf3c80
Replace some macros in forms part 5
...
Remove DECL_IFACE_PROP_IMPL + DECL_PROP0 + DECL_PROP2
Change-Id: I8bd0222244a4cb0db33fa890056bf00e240fb4fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124769
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-05 18:45:50 +01:00
Julien Nabet
9776087faf
Replace some macros in forms part 4
...
Change-Id: Ic9310fcfa4fb3b1b7e64eaa2be3839ba89949a3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124723
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-05 07:05:13 +01:00
Julien Nabet
3c1bd03780
Replace some macros in forms part 3
...
Remove DECL_BOOL_PROP1 + DECL_BOOL_PROP2
Change-Id: I8a07ac7b2b8ab724d5277a11b37cf10a6711fdb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124664
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-04 07:04:01 +01:00
Julien Nabet
de9f868323
Replace some macros in forms
...
DECL_IFACE_PROP2 + DECL_IFACE_PROP3 + DECL_IFACE_PROP4
+ DECL_BOOL_PROP3
Change-Id: Ibfe652001f4e914cad364222bcaf38dec69298e5
Change-Id: I432e045b9d071d61cd142bca66f40233cd59ef0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124564
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2021-11-02 18:42:35 +01:00
Noel
7ffb71e759
loplugin:refcounting in forms
...
Change-Id: I19d67e54f77e354eaddaaa7de1f3e22c2b7cdbf6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111280
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2021-02-21 16:10:51 +01:00
Caolán McNamara
ac396f2f6b
fix coverity parse errors
...
Change-Id: I3a1179947704452e3ffec02be59d0f7bf0b75ab0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109017
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com >
2021-01-09 13:01:49 +01:00
Stephan Bergmann
042033f1e6
loplugin:stringviewparam: operator +
...
Change-Id: I044dd21b63d7eb03224675584fa143009c6b6008
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108418
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2020-12-29 16:42:33 +01:00
Stephan Bergmann
a3d0091d18
New loplugin:stringliteralvar
...
See the comment at the top of compilerplugins/clang/stringliteralvar.cxx for
details.
(Turned some affected variables in included files into inline variables, to
avoid GCC warnings about unused variables.)
Change-Id: Ie77219e6adfdaaceaa8b4e590b08971f2f04c83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2020-12-26 14:51:15 +01:00
Stephan Bergmann
35e471bb4d
Adapt the remaining OUString functions to std string_view
...
...for LIBO_INTERNAL_ONLY. These had been missed by
1b43cceaea "Make many OUString functions take
std::u16string_view parameters" because they did not match the multi-overload
pattern that was addressed there, but they nevertheless benefit from being
changed just as well (witness e.g. the various resulting changes from copy() to
subView()).
This showed a conversion from OStringChar to std::string_view to be missing
(while the corresponding conversion form OUStringChar to std::u16string_view was
already present).
The improvement to loplugin:stringadd became necessary to fix
> [CPT] compilerplugins/clang/test/stringadd.cxx
> error: 'error' diagnostics expected but not seen:
> File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 43 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:42): simplify by merging with the preceding assignment [loplugin:stringadd]
> File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 61 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:60): simplify by merging with the preceding assignment [loplugin:stringadd]
> 2 errors generated.
Change-Id: Ie40de0616a66e60e289c1af0ca60aed6f9ecc279
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107602
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2020-12-11 21:25:10 +01:00
Andrea Gelmini
3fdf151dcd
Removed triplicated includes
...
Change-Id: I91af264306ac7a61c90bf46df0560448b7d2285d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106981
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
Tested-by: Jenkins
2020-12-02 08:20:47 +01:00
Noel
d6d80c4e17
OSL_FAIL.*exception -> TOOLS_WARN_EXCEPTION
...
Change-Id: I6800e23ead2767d245d5da71d2d40e0f8a6d7e1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106859
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2020-12-01 09:28:52 +01:00
Andrea Gelmini
61e2da8858
Fix typo in code
...
It passed "make check" on Linux
Change-Id: I18675a47549d93de241c4d35b437fcef72662654
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103256
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2020-09-23 18:53:27 +02:00
Andrea Gelmini
621580eda6
Fix typos to complete commit cfce486
...
See:
https: //gerrit.libreoffice.org/c/core/+/100172
Change-Id: Iefcf549f23fa27affe7b6254d82eb2fc8ecf283b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100334
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
2020-08-07 23:08:45 +02:00
Noel Grandin
fcabb9a726
loplugin:flatten in forms
...
Change-Id: I7e264cc1e60280b80a4e2e87b8944de4912c563d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92162
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2020-04-14 13:33:20 +02:00
Gabor Kelemen
f0c8312bc6
tdf#42949 Fix IWYU warnings in forms/
...
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I4afb3616c4f93155c187da11b2981b84d0984e9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87943
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com >
2020-02-14 10:55:43 +01:00
Noel Grandin
02b24d7747
sal_Char->char in forms..framework
...
Change-Id: I756c1f54d50403aa9b4f03dbbc2a387556f07084
Reviewed-on: https://gerrit.libreoffice.org/85475
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2019-12-19 09:33:33 +01:00
Stephan Bergmann
f853ec317f
Extend loplugin:external to warn about classes
...
...following up on 314f15bff0 "Extend
loplugin:external to warn about enums".
Cases where free functions were moved into an unnamed namespace along with a
class, to not break ADL, are in:
filter/source/svg/svgexport.cxx
sc/source/filter/excel/xelink.cxx
sc/source/filter/excel/xilink.cxx
svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
All other free functions mentioning moved classes appear to be harmless and not
give rise to (silent, even) ADL breakage. (One remaining TODO in
compilerplugins/clang/external.cxx is that derived classes are not covered by
computeAffectedTypes, even though they could also be affected by ADL-breakage---
but don't seem to be in any acutal case across the code base.)
For friend declarations using elaborate type specifiers, like
class C1 {};
class C2 { friend class C1; };
* If C2 (but not C1) is moved into an unnamed namespace, the friend declaration
must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see
C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither
qualified nor a template-id and the declaration is a function or an
elaborated-type-specifier, the lookup to determine whether the entity has been
previously declared shall not consider any scopes outside the innermost
enclosing namespace.")
* If C1 (but not C2) is moved into an unnamed namespace, the friend declaration
must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882 >
"elaborated-type-specifier friend not looked up in unnamed namespace".
Apart from that, to keep changes simple and mostly mechanical (which should help
avoid regressions), out-of-line definitions of class members have been left in
the enclosing (named) namespace. But explicit specializations of class
templates had to be moved into the unnamed namespace to appease
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598 > "explicit specialization of
template from unnamed namespace using unqualified-id in enclosing namespace".
Also, accompanying declarations (of e.g. typedefs or static variables) that
could arguably be moved into the unnamed namespace too have been left alone.
And in some cases, mention of affected types in blacklists in other loplugins
needed to be adapted.
And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which
is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is
not moved into an unnamed namespace (because it is declared in
sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about
such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler
doesn’t give this warning for types defined in the main .C file, as those are
unlikely to have multiple definitions."
(<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html >) The
warned-about classes also don't have multiple definitions in the given test, so
disable the warning when including the .cxx.
Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4
Reviewed-on: https://gerrit.libreoffice.org/83239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com >
2019-11-22 12:57:32 +01:00
Noel Grandin
f13c6ad5f0
new loplugin:bufferadd
...
look for OUStringBuffer append sequences that can be turned
into creating an OUString with + operations
Change-Id: Ica840dc096000307b4a105fb4d9ec7588a15ade6
Reviewed-on: https://gerrit.libreoffice.org/80809
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2019-10-15 14:33:57 +02:00