summaryrefslogtreecommitdiff
path: root/forms/source
AgeCommit message (Collapse)Author
2024-10-21Make tools::Time ctor taking sal_Int64 privateMike Kaganski
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-21tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 865, 868 Change-Id: Icc108072231fd37a73f0a35eac15bb1960e50202 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175266 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-10-14cid#1554844 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1554878 COPY_INSTEAD_OF_MOVE cid#1554907 COPY_INSTEAD_OF_MOVE cid#1555082 COPY_INSTEAD_OF_MOVE cid#1555224 COPY_INSTEAD_OF_MOVE cid#1555301 COPY_INSTEAD_OF_MOVE cid#1555378 COPY_INSTEAD_OF_MOVE cid#1555395 COPY_INSTEAD_OF_MOVE cid#1555452 COPY_INSTEAD_OF_MOVE cid#1555466 COPY_INSTEAD_OF_MOVE cid#1555514 COPY_INSTEAD_OF_MOVE cid#1555566 COPY_INSTEAD_OF_MOVE cid#1555753 COPY_INSTEAD_OF_MOVE cid#1555782 COPY_INSTEAD_OF_MOVE cid#1555825 COPY_INSTEAD_OF_MOVE cid#1555842 COPY_INSTEAD_OF_MOVE cid#1555891 COPY_INSTEAD_OF_MOVE cid#1555917 COPY_INSTEAD_OF_MOVE cid#1555961 COPY_INSTEAD_OF_MOVE cid#1556021 COPY_INSTEAD_OF_MOVE cid#1556055 COPY_INSTEAD_OF_MOVE cid#1556307 COPY_INSTEAD_OF_MOVE cid#1556349 COPY_INSTEAD_OF_MOVE cid#1556436 COPY_INSTEAD_OF_MOVE cid#1556665 COPY_INSTEAD_OF_MOVE cid#1556696 COPY_INSTEAD_OF_MOVE cid#1556718 COPY_INSTEAD_OF_MOVE cid#1556775 COPY_INSTEAD_OF_MOVE cid#1556835 COPY_INSTEAD_OF_MOVE cid#1556877 COPY_INSTEAD_OF_MOVE cid#1556994 COPY_INSTEAD_OF_MOVE cid#1557010 COPY_INSTEAD_OF_MOVE cid#1557074 COPY_INSTEAD_OF_MOVE cid#1557111 COPY_INSTEAD_OF_MOVE cid#1557142 COPY_INSTEAD_OF_MOVE cid#1557163 COPY_INSTEAD_OF_MOVE cid#1557164 COPY_INSTEAD_OF_MOVE cid#1557214 COPY_INSTEAD_OF_MOVE cid#1557254 COPY_INSTEAD_OF_MOVE cid#1557322 COPY_INSTEAD_OF_MOVE cid#1557327 COPY_INSTEAD_OF_MOVE cid#1557492 COPY_INSTEAD_OF_MOVE cid#1557565 COPY_INSTEAD_OF_MOVE cid#1557663 COPY_INSTEAD_OF_MOVE cid#1557798 COPY_INSTEAD_OF_MOVE Change-Id: I2ae9c184dcc18d44a65437e18c49e16b27f4d81d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174893 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-01remove some dead codeNoel Grandin
ever since commit 9c92eb6800468de34c5aec3690c1b990a4e763c9 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon May 13 15:42:27 2024 +0200 createFromAscii -> OUString literals in OLimitedFormats Change-Id: Ic0ab48b13be3799ca5b3b20b9aa8289d8bee03f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174353 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-01tdf#162713 Changed format for date-field and time-field in formNoel Grandin
regression from commit 9c92eb6800468de34c5aec3690c1b990a4e763c9 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon May 13 15:42:27 2024 +0200 createFromAscii -> OUString literals in OLimitedFormats Change-Id: I620526e3e0efd9e9376e428881e0240e2d3017d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174352 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-09-30cid#1606905 Data race conditionCaolán McNamara
Change-Id: I138cc2ef0f30ae4dcb0d86ada3a62507efc22340 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174206 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-09-16Fix typosAndrea Gelmini
Change-Id: I7b2347682cd5f0c625b0bc35b4f73e259262cc52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173461 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-09-16use more concrete UNO types in formsNoel Grandin
Change-Id: I2e8bbea33be2ac62692230e5da4bb4c748bae73c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173405 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-09-09tsan:lock-order-inversion in formsNoel Grandin
================== 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-09tsan:lock-order-inversion in formsNoel Grandin
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-07-24tdf#161865 Base Table Design View not editableNoel Grandin
we had an ODR violation with a constant named PROPERTY_DATASOURCE which is also defined inside dbaccess regression from commit bacb92275c0c474d09146c0409cb547aef6551cf "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-23cid#1555167 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555172 COPY_INSTEAD_OF_MOVE cid#1555184 COPY_INSTEAD_OF_MOVE cid#1555188 COPY_INSTEAD_OF_MOVE cid#1555197 COPY_INSTEAD_OF_MOVE cid#1555209 COPY_INSTEAD_OF_MOVE cid#1555211 COPY_INSTEAD_OF_MOVE cid#1555215 COPY_INSTEAD_OF_MOVE cid#1555216 COPY_INSTEAD_OF_MOVE cid#1555217 COPY_INSTEAD_OF_MOVE cid#1555218 COPY_INSTEAD_OF_MOVE cid#1555222 COPY_INSTEAD_OF_MOVE cid#1556674 COPY_INSTEAD_OF_MOVE cid#1555229 COPY_INSTEAD_OF_MOVE cid#1555233 COPY_INSTEAD_OF_MOVE cid#1555234 COPY_INSTEAD_OF_MOVE cid#1555242 COPY_INSTEAD_OF_MOVE cid#1555250 COPY_INSTEAD_OF_MOVE cid#1555251 COPY_INSTEAD_OF_MOVE cid#1555254 COPY_INSTEAD_OF_MOVE cid#1555304 COPY_INSTEAD_OF_MOVE cid#1555307 COPY_INSTEAD_OF_MOVE cid#1555317 COPY_INSTEAD_OF_MOVE cid#1555329 COPY_INSTEAD_OF_MOVE cid#1555340 COPY_INSTEAD_OF_MOVE cid#1555347 COPY_INSTEAD_OF_MOVE cid#1555352 COPY_INSTEAD_OF_MOVE cid#1555358 COPY_INSTEAD_OF_MOVE cid#1555363 COPY_INSTEAD_OF_MOVE cid#1555365 COPY_INSTEAD_OF_MOVE cid#1555367 COPY_INSTEAD_OF_MOVE cid#1555374 COPY_INSTEAD_OF_MOVE cid#1555380 COPY_INSTEAD_OF_MOVE Change-Id: I343194c10749488a1143e2517ee0638ab19da218 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170888 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-17cid#1608071 Out-of-bounds accessCaolán McNamara
Change-Id: Ia258bb10c015150f3ff8f978e975a033e981aa92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170633 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-09Simplify comphelper::query_aggregationMike Kaganski
Change-Id: Id673c27e21c6706367f2effc92bbea61c83a5482 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170133 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-06-27vcl: Remove graph. reader context from {Imp}Graph and GraphicReaderTomaž Vajngerl
This removes the mpContext member variable from ImpGraph, which also make {Get,Set}ReaderContext on Graphic obsolete and is also removed. GraphicFilter and other code is adjusted and simplified. Change-Id: Icd1927d7b1bd4624b523d0f49a4343911ec6cd0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165214 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-18loplugin:ostr in variousNoel Grandin
Change-Id: I7aa8ed716998a185996482dc561219b398a1c919 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169080 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-11Some missing "block untrusted referer links" for form controlsStephan Bergmann
...where "Referer" is now passed in as an additional property, so that the relevant objects can decide whether to obtain graphics while loading a document Change-Id: Ie3dabc574861713212b906a0d7793f438a7d50a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168674 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-16Drop unneeded 'using' instancesGabor Kelemen
found with bin/find-unused-using.sh Change-Id: I647f493ee313e79e7a9967960ea089b729de59a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167637 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-05-14createFromAscii -> OUString literals in OLimitedFormatsNoel Grandin
Change-Id: I8acbc47f17da765189a824b067f89e590e661790 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167619 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-11replace createFromAscii with OUString literals in ControlFeatureInterceptionNoel Grandin
Change-Id: If0fbaafbaa318ec541341fde723f92f3e8e92cfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167510 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-08tdf#160906 use SfxPoolItemHolderArmin Le Grand (allotropia)
to avoid handling already deleted SfxPoolItems. Change-Id: I1f1f8f93cae8db7f7c8df66c2c7f3c02b59a39c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167274 Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> Tested-by: Jenkins
2024-05-08loplugin:ostr in formsNoel Grandin
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-02replace createFromAscii with OUString literals in formsNoel Grandin
Change-Id: I688fbf8777736a3f55ab5c0d9c8acaf55f83d8b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167009 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-02WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara
Change-Id: I8edb1fefe1b2b8a3db3ee8f3a0eed59c7f08a36e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166863 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-04-09Fix typo: compytibilityGabor Kelemen
Change-Id: I989d0a9510e6a3691a4c1ba89dd3f04e62906292 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165691 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-04-05tdf#146619 Drop unused 'using namespace' in: formsGabor Kelemen
Change-Id: I5d81e8c359100da2a7dd98e75a1f79bbb73d9521 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165570 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-03-30tdf#42982 Add error messages to thrown exceptionsRMZeroFour
As part of the efforts in #42982 to improve the UNO API error reporting, this commit adds error messages in several files to help improve debugging experience. Change-Id: I7a51d4fd1e3a57798d70bc3464b034649948a287 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165253 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-03-28convert OXSDDataType to comphelper::WeakImplHelperBaseNoel Grandin
Change-Id: Idb299ea698480d0b98ac0deff9d1f9b87e749782 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165442 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-18ITEM: Rename for more control over SlotID usagesArmin Le Grand (allotropia)
Change-Id: I51585f1c15984a066262023184f668662853d20f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163556 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-02-12ITEM: ItemPool Rework (I)Armin Le Grand (allotropia)
Driving forward the Item reworks I now take the ItemPool in focus: It now does not hold any items anymore and should be renamed to something like ItemInfoProvider/ItemHelper, since it's main purpose is to provide the Defaults for the Item functionality. There is that SfxItemInfo, only a struct and bundling SlotID and ItemFlags. There are also the DefaultItems, just handled as ptrs in an array. It is/was always error-prone to keep these in sync. Remember that it's also necessary for the order to not only being sorted but being increments of one with no gaps allowed in the WhichIDs to which the Items are bound. I now bundled that to a new class ItemInfo that joins WhichID, SlotID, ItemFlags and the default Item. This is a pure virtual base class, it comes in three derivations: (1) ItemInfoStatic: This is supposed to be global static and hosts the Item in a std::unique_ptr to ensure cleanup. It is designed to be constructed once during runtime and being shared globally. It allows the ItemPtr to be nullptr to mark as non-static (if initial static is not possible for some reason) but still offers the needed data. Most cases (95%+) are of that case. The contained Item is owned by that instance. The flag isStaticDefault() is set at the Item. (2) ItemInfoDynamic: This is supposed to be used for cases where the Item cannot be static: Mainly for SfxSetItem (that needs a Pool itself in the contained SfxItemSet, so lifetime is bound to that Pool), but other cases showed up in the transition. These instances live while the Pool lives and get destructed when the Pool goes down. Also uses std::unique_ptr for the Item instance for as much automated cleanup as possible, the contained Item is owned by that instance, the instance by the Pool. The flag isDynamicDefault() is set at the Item. (3) ItemInfoUser: This is used for UserDefaults that can be set for every ItemInfo entry to 'overshadow' the default from the 'outside'. It uses a regular Item and the central access methods implCreateItemEntry/ implCleanupItemEntry to manage the Item instance, thus works like a SfxPoolItemHolder. The Item instance can be globally shared and re-used even when the Pool goes down. Instances belong to the Pool and are cleaned up when the Pool goes down. This Item does not need any further flag to be set. The ItemInfos are organized using a class called ItemInfoPackage: This bundles groups of ItemInfoStatic to functional instances. There are derivations/ implementations of this e.g. for Writer ItemPool bundling all the needed defaults for Writer, similar for draw/impress, Calc and other usages. These ItemInfoPackage can be 'registered' at an ItemPool using it's method registerItemInfoPackage. This does all the needed stuff to setup that group of ItemInfos at the Pool (It even sets internal vars First/LastWhich, that info can just be derived from the buildup ItemInfo Ptrs). The ItemInfoPackage has methods 'size()' and 'getItemInfo(index) to allow looping over it and deliver the infos the Pool needs. The (forced, pure virtual) overloads of getItemInfo in the specific implementations check for the ItemPtr being nullptr and create a exclusive incarnation of ItemInfoDynamic for the Pool if needed, returning that. The Pool owns the ItemInfoDynamic incarnations and uses the ItemInfoStatic directly. On shutdown it cleans up the ItemInfoDynamic as needed. The ItemInfoUser is used by the Pool when a UserDefault is set/used: for SetUserDefaultItem, GetUserDefaultItem, ResetUserDefaultItem. It is not held in a 2nd list, but directly in the list of ItemInfo'ptrs: To keep track of this an unordered_map is used that helds the original ItemInfo associated with the WhichID. That way no two lookups (as before) are needed to get the current Pool's default for any WhichID. The derivations of ItemInfoPackage are encapsulated and just allow access to an ItemInfoPackage& with a single method as return value. All use a static local instance of a std::array<ItemInfoStatic, FIXED_SIZE> which constructs all ItemInfoStatic and the static Item instances - if already possible. Sometimes it is necessary to overload the constructor to set some static instances for Items later than the lib init. These are also just marked with nullptr as Item instance. Some need to overload getItemInfo to complete instances of ItemInfoStatic, if needed, or create and deliver instances of ItemInfoDynamic. The registerItemInfoPackage also offers a optional lambda callback: there were two cases where local data from the Pool was needed to incarnate the item - just add that to the call to registerItemInfoPackage if needed, see examples in the adapted code. For the re-use of Items this means that now in SfxItemSet/SfxPoolItemHolder *true* static Items can and will be used without RefCount directly and globally. This is also the case for dynamic Items, with the exception of differing Pools for SfxSetItems which cannot be done. Future: That design is already prepared to allow solving that Pool-chaining problem: currently there are master/sub-pools and all accesses have to traverse that structure before even doing anything. For the future the idea is more to 'compose' a Pool by registering ItemInfoPackages, e.g. for Writer pool you may start with SfxItemPool, register the writer-specific ItemInfoPackage, then the one for DrawingLayer (if needed) and the one for EditEngine. It should also be possible to get to smaller granularities of that packages. Ideas for new ones will emerge. We might also think about composing Pools which can e.g. run Writer and Chart, so allowing to use Chart *without* OLE stuff in Writer - just ideas... More changes: - Adapted all stuff, cleaned up old stuff/ definitions - Removed FreezeIdRanges, that can be done once per Pool on-demand (and cannot be forgotten to be called) - Merged XOutdevItemPool with SdrItemPool and offered a ItemInfoPackage which joins both needed sets of Items - All the cleanup hassle with Pools and defaults cleaned up - Adapted all access methods of the pool to use that new stuff. Pool chaining currently stays, but I use a central method 'getTargetPool' instead of recursive calling to get the correct Pool for the action Change-Id: I2b8d3d4c3cc80b1d0d0b3c0f4bd90d7656b4bab7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163157 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-27ITEM: Cleanup some Pool stuff with DefaultsArmin Le Grand (allotropia)
Sorted out some methods at ItemPool which process Defaults to make more clear what is going on and what which method is doing. Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-27Drop std::as_const from css::uno::Sequence iterationsMike Kaganski
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const Sequence::operator[] in internal code, 2021-11-05). Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-21editeng: change EditEngine getter to ref in {Imp}EditViewTomaž Vajngerl
{Imp}EditView always needs to have EditEngine set (or it would crash otherwise), so we can change the getter to return a referece instead of a pointer. This simplifies things a bit because we get rid of all the nullptr checks and makes the interface more clear. Also change direct access to mpEditEngine in {Imp}EditView to use getEditEngine() and getImpEditEngine() (returning a reference) instead. Change-Id: Ib8f9c565b8364144bb9c35c3093c4975af1970c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162333 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-16loplugin:unusedmethodsNoel Grandin
Change-Id: I24c429c7cb8283a384b72499d1c3f4c2f1457c33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162155 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-06cid#1560053 Missing move assignment operatorCaolán McNamara
and cid#1560054 Missing move assignment operator Change-Id: I438699b24ca7aa7726dbce3af310d80327b9a717 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161708 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-31cid#707862 Uninitialized pointer fieldCaolán McNamara
returned since commit 04c3ef3c7224644b7e54ff215343391cef77f7b5 Date: Sat Dec 30 15:08:30 2023 +0200 ImgProdLockBytes is unnecessary Change-Id: Iabd3cf1f64b87b8ffb8c73702ef138cf7b7d64a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161502 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-31Replace "size() != 0 with !empty()" (forms)Julien Nabet
Change-Id: I855c4868334c8890b00e78caa67bfc9c9c9ebd80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161485 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-31Remove duplicated includeAndrea Gelmini
Change-Id: I64436766ca0274e0877c861db3ffdb9d87f5e12a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161462 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-30no need to use SvLockBytes in OImageControlModelNoel Grandin
we already have other, simpler facilities for wrapping streams Change-Id: Ic6f88821e089951999395507bc84e68ea339d9de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161444 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-30ImgProdLockBytes is unnecessaryNoel Grandin
we already have facilities for doing this kind of wrapping (removes another instance of SvLockBytes) Change-Id: Ie3546efe06580f9492d8f6ddbc1a2e904036465a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161443 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-30no need to use SvLockBytes in formsNoel Grandin
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-20cid#1545612 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545605 COPY_INSTEAD_OF_MOVE cid#1545587 COPY_INSTEAD_OF_MOVE Change-Id: Iafb1d81dbacfefe70fbddd84b29e827dc137ef07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161077 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-07simplify and modernise ScopedBitmapAccessNoel Grandin
(*) Make all of it use a "Scoped" paradigm (*) pass by value, no need to allocate on heap (*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods. (*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places. Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-04cid#1545597 Using invalid iteratorJulien Nabet
and : cid#1545537 Using invalid iterator cid#1545508 Using invalid iterator cid#1545494 Using invalid iterator cid#1545478 Using invalid iterator cid#1545427 Using invalid iterator cid#1545420 Using invalid iterator cid#1545400 Using invalid iterator cid#1545300 Using invalid iterator cid#1545258 Using invalid iterator cid#1545257 Using invalid iterator cid#1545200 Using invalid iterator cid#1545183 Using invalid iterator Change-Id: Ibf3a41902f34286967195c5c3b22e337a4b06809 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160322 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-23loplugin:fieldcast in BindingNoel Grandin
Change-Id: Ia4bb341dba0c853b53c42a36fcb472e5948f1708 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159839 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-23Extended loplugin:ostr: Rewrite some O[U]StringLiteral -> O[U]StringStephan Bergmann
...in include files. This is a mix of automatic rewriting in include files and manual fixups (mostly addressing loplugin:redundantfcast) in source files that include those. Change-Id: I1f3cc1e67b9cabd2e9d61a4d9e9a01e587ea35cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158337 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-19Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: formsStephan Bergmann
Change-Id: Ifab0f06a776a9c505508781018300c7ce5d46436 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158194 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-14Use exception ctors, instead of setting members laterMike Kaganski
Avoids overwriting source location in message Change-Id: Ia0290c7dd1ab3ea1357712a27ecab75c7b583dd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157893 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-07loplugin:ostr: automatic rewriteStephan Bergmann
Change-Id: I2d09b2b83e1b50493ec88d0b2c323a83c0c86395 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157647 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2023-10-05Replace useless lcl_throwIllegalArgumentException function (forms)Julien Nabet
Change-Id: Icad8c36ef91edd12da8cc533e3ce24c0000a8a28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157590 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>