summaryrefslogtreecommitdiff
path: root/framework
AgeCommit message (Collapse)AuthorFilesLines
2023-02-28tdf#153857 Writer hangs right-clicking on form fieldNoel Grandin1-0/+2
regression from commit 5032262fccd0ef7f274323ae481b3230ffd42d3a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue Feb 21 15:05:37 2023 +0200 BaseMutex->std::mutex in PopupMenuControllerBase Change-Id: I01bdab09ac0ce1d9b35ed45ad36d1c5179702c6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147920 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-22BaseMutex->std::mutex in PopupMenuControllerBaseNoel Grandin15-82/+76
Change-Id: I26877ac7b6e5e39f511418d978199189c62cca6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147416 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-21BaseMutex->std::mutex in JobExecutorNoel Grandin1-48/+46
Change-Id: I7be392f3023cf188bd6115053dcb1691b32b3e4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147376 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-17osl::Mutex->std::mutex in UndoManagerHelper_ImplNoel Grandin1-29/+63
Change-Id: I57973db459633a4672c0d59c23bd3a682834ace8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147186 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-15Drop 'using namespace ::std' in dirs [e-p]*Gabor Kelemen2-2/+0
Change-Id: Ibe6a2f662f5721c594d28a8e0d7340d0f3cffe95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147075 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-02-15Resolves: tdf#30920 don't terminate app on closing license frameCaolán McNamara1-1/+4
when there is a backing window (start center) also open Change-Id: I64051467ac90ee321b7fc54cb96775c5a1e8d3a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147078 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-14osl::Mutex->std::mutex in LoadEnvListenerNoel Grandin1-5/+5
Change-Id: If76feb51f0d2f187603fb1af7c27bbe3391b645b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146944 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-14osl::Mutex->std::mutex in ConfigurationAccess_UICommandNoel Grandin1-8/+8
Change-Id: Id92161815cd1f336c030aa4491e67a84aaddeb87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146943 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-09tdf#95936: Tooltip not updated in Toolbars after change ShortcutJuergen Funk4-1/+26
The update of all toobars after change the shortcut was missing, this patch update the toolbars now Change-Id: Ibc896dc48c9143307b028a3c271476482111c2c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146678 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-02-05tdf#143148 Use pragma once instead of include guardsGreg Kelesidis1-4/+1
Change-Id: Iaeabe4e21ffe407684a57e1988a836e7cf85b2a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146560 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-02-03tdf#56696 - Sort recent document list according to current LibO moduleAndreas Heinisch1-3/+50
Change-Id: I246dc9538e011b8981bea04963995559d2b43cc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146456 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-02-02osl::Mutex->std::mutex in ConfigurationAccess_UICategoryNoel Grandin1-5/+5
Change-Id: I55da051ad9368920224f2c762c9f95b3ea85098a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146472 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-02osl::Mutex->std::mutex in ConfigurationAccess_WindowStateNoel Grandin1-13/+14
Change-Id: I399bb434da3e2c92c6df64dd6048121ad030bfb2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146473 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-31Fix locking orderStephan Bergmann1-13/+13
JunitTest_sfx2_complex occasionally deadlocked when the main thread at > framework::UndoManagerHelper::isUndoPossible > chart::UndoCommandDispatch::fireStatusEvent > chart::CommandDispatch::addStatusListener > svt::ToolboxController::bindListener > framework::ToolBarManager::UpdateControllers > framework::ToolBarManager::AsyncUpdateControllersHdl > Scheduler::CallbackTaskScheduling > SalTimer::CallCallback > SvpSalInstance::CheckTimeout > SvpSalInstance::ImplYield > SvpSalInstance::DoYield > ImplYield > Application::Execute > desktop::Desktop::Main has acquired the SolarMutex in framework::ToolBarManager::AsyncUpdateControllersHdl and is now trying to acquire framework::UndoManagerHelper_Impl::m_aMutex, while a cppu_threadpool at > framework::UndoManagerHelper_Impl::impl_clear > std::function<void ()>::operator() > framework::(anonymous namespace)::UndoManagerRequest::execute > framework::UndoManagerHelper_Impl::impl_processRequest > framework::UndoManagerHelper_Impl::clear > framework::UndoManagerHelper::clear > gcc3::callVirtualMethod first acquired framework::UndoManagerHelper_Impl::m_aMutex and then tries to acquire the SolarMutex. That additional acquiring of the SolarMutex had been added to framework::UndoManagerHelper_Impl::impl_clear in 8611f6e259b807b4f19c8dc0eab86ca648891ce3 "ref-count SdrObject". Change-Id: Ifcb8765b29b65f773be6bbe54092346c5ae3a33b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146371 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-29use std:mutex in PropertySetContainerNoel Grandin2-6/+9
instead of SolarMutex, we don't need to lock SolarMutex here, we are not touching any UI stuff Change-Id: I09f2dfd2c5e6e082066a726f8c6d64b4b136a78d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146307 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27JobURL does not need to use the SolarMutexNoel Grandin1-7/+0
it is only used and accessed as a local stack variable inside two methods Change-Id: I651dad0912dd47d3670e7b341d444d17e200efc2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146260 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27JobResult does not need to use the SolarMutexNoel Grandin1-16/+3
it is literally only used inside a single method Change-Id: I01082270208b9e6c9bbaae0e7edf66f5e171a280 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146259 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27AcceleratorCache does not need to lock the SolarMutexNoel Grandin1-11/+0
it is only used by the *AccelerationConfiguration classes, and they lock the SolarMutex around all accesses to this data. Change-Id: I07de415bae9e0aff679f693022b9181971f19bd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146254 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27Remove SolarMutex usage from framework::JobDataNoel Grandin3-65/+13
the data in question is only touched from one thread, so it does not need any locking. This seems have been since this class was first introduced. Change-Id: Ife9f9ea015e2ae263e699a38d504a49aaf21c803 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146253 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-27Move a UNO service creation outside a guarded areaStephan Bergmann1-3/+3
When trying to address a deadlock issue involving NotifySingleListenerIgnoreRE (sfx2/source/doc/sfxbasemodel.cxx), I ran into another deadlock between a cppu_threadpool thread at > comphelper::SolarMutex::acquire > osl::ClearableGuard<comphelper::SolarMutex>::ClearableGuard > SolarMutexClearableGuard::SolarMutexClearableGuard > SfxModelGuard::SfxModelGuard > SfxBaseModel::getIdentifier > (anonymous namespace)::ModuleManager::implts_identify > (anonymous namespace)::ModuleManager::identify > (anonymous namespace)::JobExecutor::notifyEvent > (anonymous namespace)::SfxGlobalEvents_Impl::implts_notifyJobExecution > (anonymous namespace)::SfxGlobalEvents_Impl::documentEventOccured > (anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator() > comphelper::OInterfaceContainerHelper2::forEach<com::sun::star::document::XDocumentEventListener, (anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> > > SfxBaseModel::postEvent_Impl > SfxBaseModel::Notify > ScModelObj::Notify > SfxBroadcaster::Broadcast > SfxApplication::NotifyEvent > SfxObjectShell::SetInitialized_Impl > SfxObjectShell::FinishedLoading > ScDocShell::Load > SfxObjectShell::LoadOwnFormat > SfxObjectShell::DoLoad > SfxBaseModel::load > (anonymous namespace)::SfxFrameLoader_Impl::load > framework::LoadEnv::impl_loadContent > framework::LoadEnv::start > framework::LoadEnv::startLoading > framework::LoadEnv::loadComponentFromURL > framework::Desktop::loadComponentFromURL > gcc3::callVirtualMethod and the main thread at > osl::Mutex::acquire > osl::Guard > (anonymous namespace)::JobExecutor::trigger > desktop::Desktop::AsyncInitFirstRun > desktop::Desktop::LinkStubAsyncInitFirstRun > Link<Timer*, void>::Call > Timer::Invoke > Scheduler::CallbackTaskScheduling > SalTimer::CallCallback > SvpSalInstance::CheckTimeout > SvpSalInstance::ImplYield > SvpSalInstance::DoYield > ImplYield > Application::Yield > Application::Execute > desktop::Desktop::Main which this commit fixes. (I commit this independently of any commit addressing that other deadlock, as that involves some SolarMutexReleaser hackery and might eventually get reverted, while this change here looks correct and worthwhile even on its own.) Change-Id: I2530569c6661e440126db04fa19a655d52e20094 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146242 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-18Fix typoAndrea Gelmini1-1/+1
Change-Id: Ifc9748fc33c72ad6e0cb334ca22ebb8b488164c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145710 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2023-01-17Fix typoAndrea Gelmini1-1/+1
Change-Id: I4f2cf13ce7b9dd7cd4d579bee1ad411459687c57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145668 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-01-17tdf#146638 In a titlebar, separator is changed from a hyphen to an emdashRadhey Parekh2-1/+5
Change-Id: Ibf79dfd4c3e2f44ba4564567cd5e3f3650095719 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145542 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-01-17XUnoTunnel->dynamic_cast in RootItemContainerNoel Grandin4-25/+7
Change-Id: I79a44f69dd7233a7e885698d29b929d9831025c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145630 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-17XUnoTunnel->dynamic_cast in ConstItemContainerNoel Grandin5-30/+3
Change-Id: I0b3bf3e2c30a150aa3986e05951e0978fc16f1bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145629 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-17XUnoTunnel->dynamic_cast in RootActionTriggerContainerNoel Grandin2-20/+0
Change-Id: Ie07b02b2011e4edb23793f6209cc35ccd7607c41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145628 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-15Merge SvXMLAttributeList to comphelper::AttributeListMike Kaganski12-58/+11
And simplify the latter, to always use "CDATA" type (as the former did). "CDATA" was used in all cases but one, where an empty string was used. Change-Id: I1b3bfae40e29628e4094d9a6e58a69a66865874c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145526 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-01-14XUnoTunnel->dynamic_cast in VCLXMenuNoel Grandin2-4/+4
Change-Id: Iee992e2e09647a7678fd05321e601a4c5bf0c430 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145469 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-14use more VCLXPopupMenu instead of XPopupMenuNoel Grandin14-24/+25
which avoids a bunch of casting and makes the dependency explicit instead of implicit Change-Id: I754da72916fbbc51e7edc3c806155da34d347bd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145472 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-11fix deadlock observed on jenkinsNoel Grandin1-2/+4
where we are locking SolarMutex and UndoManagerHelper_Impl::m_aMutex in different orders in different code-paths, which is deadly when we call into the same class recursively. Thread 2 (Thread 0x7f5cf303b700 (LWP 22637)): (this=0x7f5cf3037cd8) at include/vcl/svapp.hxx:1373 framework::UndoManagerHelper_Impl::impl_clear() (this=0x5f90d50) at framework/source/fwe/helper/undomanagerhelper.cxx:691 holds UndoManagerHelper_Impl::m_aMutex tries to acquire SolarMutex framework::UndoManagerHelper_Impl::clear(framework::IMutexGuard&)::$_3::operator()() const (this=0x5519040) at framework/source/fwe/helper/undomanagerhelper.cxx:403 framework::UndoManagerHelper_Impl::clear(framework::IMutexGuard&)::$_3>::_M_invoke(std::_Any_data const&) (__functor=...) at /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/std_function.h:316 (this=0x5519040) at /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/../../../../include/c++/7/bits/std_function.h:706 namespace)::UndoManagerRequest::execute() (this=0x5519030) at framework/source/fwe/helper/undomanagerhelper.cxx:160 framework::UndoManagerHelper_Impl::impl_processRequest(std::function<void ()> const&, framework::IMutexGuard&) (this=0x5f90d50, i_request=..., i_instanceLock=...) at framework/source/fwe/helper/undomanagerhelper.cxx:490 framework::UndoManagerHelper_Impl::clear(framework::IMutexGuard&) (this=0x5f90d50, i_instanceLock=...) at framework/source/fwe/helper/undomanagerhelper.cxx:402 framework::UndoManagerHelper::clear(framework::IMutexGuard&) (this=0x5f90c38, i_instanceLock=...) at framework/source/fwe/helper/undomanagerhelper.cxx:999 at chart2/source/model/main/UndoManager.cxx:278 void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) (pThis=0x5f90bc8, nVtableIndex=18, pRegisterReturn=0x0, pReturnTypeRef=0xa2dac0, bSimpleReturn=true, pStack=0x7f5cf30380e0, nStack=0, pGPR=0x7f5cf30383e0, pFPR=0x7f5cf30383a0) at bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:77 cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**) (pThis=0x5e40ac0, aVtableSlot=..., pReturnTypeRef=0xa2dac0, nParams=0, pParams=0x0, pUnoReturn=0x0, pUnoArgs=0x0, ppUnoExc=0x7f5cf30388e0) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233 pMemberDescr=0x551dd30, pReturn=0x0, pArgs=0x0, ppException=0x7f5cf30388e0) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413 binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny> >*) const (this=0x28a3cc0, returnValue=0x7f5cf3039040, outArguments=0x7f5cf3039008) at binaryurp/source/incomingrequest.cxx:236 (this=0x28a3cc0) at binaryurp/source/incomingrequest.cxx:79 Thread 1 (Thread 0x7f5cfd03eec0 (LWP 22302)): (this=0x7ffcdf1b1720, t=...) at include/osl/mutex.hxx:144 comphelper::OInterfaceContainerHelper3<com::sun::star::util::XModifyListener>::addInterface(com::sun::star::uno::Reference<com::sun::star::util::XModifyListener> const&) (this=0x5f90da0, rListener=...) at include/comphelper/interfacecontainer3.hxx:313 trying to acquire UndoManagerHelper_Impl::m_aMutex framework::UndoManagerHelper_Impl::addModifyListener(com::sun::star::uno::Reference<com::sun::star::util::XModifyListener> const&) (this=0x5f90d50, i_listener=...) at framework/source/fwe/helper/undomanagerhelper.cxx:286 framework::UndoManagerHelper::addModifyListener(com::sun::star::uno::Reference<com::sun::star::util::XModifyListener> const&) (this=0x5f90c38, i_listener=...) at framework/source/fwe/helper/undomanagerhelper.cxx:1047 chart::UndoManager::addModifyListener(com::sun::star::uno::Reference<com::sun::star::util::XModifyListener> const&) (this=0x5f90bc0, i_listener=...) at chart2/source/model/main/UndoManager.cxx:338 (this=0x1d470d0) at chart2/source/controller/main/UndoCommandDispatch.cxx:57 chart::CommandDispatchContainer::getDispatchForURL(com::sun::star::util::URL const&) (this=0x5f66e58, rURL=...) at chart2/source/controller/main/CommandDispatchContainer.cxx:93 chart::ChartController::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) (this=0x5f66c50, rURL=..., rTargetFrameName=...) at chart2/source/controller/main/ChartController.cxx:1055 locks SolarMutex chart::ChartController::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/../program/libchartcontrollerlo.so framework::DispatchProvider::implts_queryFrameDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::util::URL const&, rtl::OUString const&, int) (this=0x5f5e6c0, xFrame=..., aURL=..., sTargetFrameName=..., nSearchFlags=0) at framework/source/dispatch/dispatchprovider.cxx:352 framework::DispatchProvider::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) (this=0x5f5e6c0, aURL=..., sTargetFrameName=..., nSearchFlags=0) at framework/source/dispatch/dispatchprovider.cxx:106 framework::DispatchProvider::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libfwklo.so framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) (this=0x5f59ce0, aURL=..., sTargetFrameName=..., nSearchFlags=0) at framework/source/dispatch/interceptionhelper.cxx:87 framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libfwklo.so namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) (this=0x5f599c0, aURL=..., sTargetFrameName=..., nSearchFlags=0) at framework/source/services/frame.cxx:2329 namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/libfwklo.so (this=0x5fe8b00) at svtools/source/uno/toolboxcontroller.cxx:520 (this=0x5fe8b00) at svtools/source/uno/toolboxcontroller.cxx:242 (this=0x5fdd060) at framework/source/uielement/toolbarmanager.cxx:731 framework::ToolBarManager::AsyncUpdateControllersHdl(Timer*) (this=0x5fdd060) at framework/source/uielement/toolbarmanager.cxx:2298 framework::ToolBarManager::LinkStubAsyncUpdateControllersHdl(void*, Timer*) (instance=0x5fdd060, data=0x5fdd258) at framework/source/uielement/toolbarmanager.cxx:2285 (this=0x5fdd278, data=0x5fdd258) at include/tools/link.hxx:111 vcl/source/app/timer.cxx:75 vcl/source/app/scheduler.cxx:474 vcl/inc/saltimer.hxx:54 (this=0xa1ab10, bExecuteTimers=true) at vcl/headless/svpinst.cxx:161 Change-Id: I1971d094513cc747eff44db8e2a131ad0aae1506 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145316 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-05Revert all the recent loplugin:unocast changesStephan Bergmann6-34/+5
...as obsoleted by ef533553559fe09b4afab651fc692885d1acf4ed "Rudimentary support for dynamic_cast on UNO proxy objects". This reverts all of: 4cfcc9ac37b90ce64c8402a41eb4638adb185b5c "loplugin:unocast (framework::Desktop)" 03efbf72f4ddf7a84aa8aabef348331bd4b75e8a "loplugin:unocast (vclcanvas::TextLayout)" 80099fdd51a69eaa6c36ca88ef772810e4a777fa "loplugin:unocast (SalGtkXWindow)" cc147f576d8687fb79c77d47d41dc4ba1678a469 "loplugin:unocast (sdext::presenter::CachablePresenterView)" 40db42be1d8fd0f9c6c8c5ba3767ddb9ee2034c2 "loplugin:unocast (vclcanvas::CanvasFont)" 2d1e7995eae29e2826449eb5179f5fae181794a5 "loplugin:unocast (CairoColorSpace)" 4c0bbe4bd97636207cf71a6aa120c67698891da9 "loplugin:unocast (canvas::ParametricPolyPolygon)" 89803666621c07d1b1ac9d3bd883f0ca192a91a0 "loplugin:unocast (vclcanas::CanvasBitmap)" d5e0c2c8db71878d21c2a7255af08cf5f9a6dd04 "loplugin:unocast (sfx2::DigitalSignatures)" c0c4519e0d5b555f59bbc04cc616454edfd1f4ce "loplugin:unocast (VCLXAccessibleComponent)" feb8b833a6245d42400f42a0bc789dc84594ee6f "loplugin:unocast (VCLXDialog)" 1fa58cc6cc9c3849753342a5d9a6ddfa461b5e66 "loplugin:unocast (VCLXMultiPage)" f481f036deb1b1b46f3038074c4659f3a91b9c6c "loplugin:unocast (DocumentSettingsSerializer)" 73df933f5fa5932f94e5a1b338a3eda00a9ce354 "loplugin:unocast (css::embed::EmbeddedUpdate)" 420165ab0ef03c0467f9d17f504de2d2fc78f0e6 "loplugin:unocast (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)" 9abe8ee067e6c00f19d8a13346d53c4641c27166 "loplugin:unocast (MutableTreeNode)" 9f3022ceb036f23b4b0994c3e2fbd1001bff225a "loplugin:unocast (VCLXTabPage)" 1be70dda02c12a60778b7607cff2520ae1aa611e "loplugin:unocast (vcl::unotools::VclCanvasBitmap)" d6a70bb641b96e8e5616448c2378131ed62658b4 "loplugin:unocast (basegfx::unotools::UnoPolyPolygon)" 5a14f009e6782c077463c8cbb8e9cea3d7950107 "loplugin:unocast (xmlsecurity::Certificate)" 99009c9535dfa3e0d838989ccc7d84bfa2320ff4 "loplugin:unocast (sd::Annotation)" 0c7585c5fa78887e5459885ed744e8044fd76137 "loplugin:unocast (sd::TextApiObject)" 24e14afd1bfcaed6c200ab081973fba7e47267ca "loplugin:unocast (SignatureVerifierImpl)" 1a7ad0c10d286ce9ae2700ceb2fd50eed1fb43a4 "loplugin:unocast (pcr::PropertyEventTranslation)" a97e2d2702d9a6f37775ccee2c08c4f3b2479c4b "loplugin:unocast (RangePageBreaks)" 19dfdf86ad1f5b08041d8b7a9f196caf881231ab "iloplugin:unocast (pcr::OFormattedNumericControl)" f9785ea595fd8e911f6370e836fa579225b9e571 "loplugin:unocast (frm::OInterfaceContainer)" 5e5f40a4a92a31b0932c690219d002fcf18598cf "loplugin:unocast (ScVbaShapes)" 27b35b2c215b4832d4378ec3a7ecbba926552d06 "loplugin:unocast (ScVbaShapeRange)" cb3108f860065928552a86cf8acc4b3a95718ecf "cid#1517812 Dereference null return value" feba0ddb1521d1142560fe54b7d7696ee910237f "loplugin:unocast (weld::TransportAsXWindow)" 4d6c23216559eb48f9943bb49d6e475a6d64ba15 "loplugin:unocast (oox::ForumlaImExportBase)" 4844c096a8ab6a9a620c410a0949d4499f12a504 "loplugin:unocast (cairocanvas::SurfaceProvider)" 9a0b523e0a84d403b9092176ccec4b3e3efe42d0 "loplugin:unocast (cairocanvas::CanvasBitmap)" 8a5648d8e59b4b007dbbf3824777c19a21efc61e "loplugin:unocast (cairocanvas::TextLayout)" 28c27a0623bc78a0590858f97d03b620985bc84c "loplugin:unocast (cairocanvas::CanvasFont)" 53bc223cb3288e32a417696ee61c29e5f01f209d "loplugin:unocast (cairocanvas::RepaintTarget)" 5f70b0b9f6bc4ab145ddbd9155590ed4a3b1b9ec "loplugin:unocast (SvXMLImport)" 068187a898cdd2e26e9b16c348ecc1ed2dee3f29 "loplugin:unocast (VCLXWindow)" 88b4f966202717cd4ad38a30a8eda22c3e69ed35 "loplugin:unocast (sfx2::sidebar::SidebarController)" f1b7a69b280aefe2f1b3b0f32193494fd765f2bd "loplugin:unocast (SvxLineStyleToolBoxControl)" ba76f0ba7e8de4d2953739c952004b7d9af47197 "loplugin:unocast (i18npool::Calendar_gregorian)" 840154daf934d8df52ead1cb7acd798c4d30f007 "loplugin:unocast (framework::AddonsToolBarWrapper)" b0e9c4c5f063cefa9557810e3349bdb9c7493091 "loplugin:unocast (GrammarCheckingIterator)" 8ee6cfc9655ce9de4617cea1a0d9cb9d7a4fbfac "loplugin:unocast (ucb::ucp::ext::Content)" 5b8cd77c112bc8c0e92b8fec215c3c8e802bbc0a "loplugin:unocast (basic::SfxScriptLibraryContainer)" 9e73ff9fce12e102bb3c3cea8d8bb96c88f2c9ad "loplugin:unocast (sdext::presenter::PresenterNotesView)" a98acca8fbc38d3fd5600ae5056a8e42b6d8a40d "loplugin:unocast (SelectionChangeHandler)" c0b59ad6e35b0cb0dea0821e95f95569739078c1 "Consistently use comphelper::getSomethingImpl<I>(aIdentifier, this)" 276e3ccbdd3259ec3daf8a1a98fa7f406b14e21c "loplugin:unocast (vclcanvas::RepaintTarget)" Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (framework::Desktop)Stephan Bergmann2-1/+12
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: Ifcf713b0543e78a124f613bcbda496069a280dab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144762 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-20loplugin:unocast (weld::TransportAsXWindow)Stephan Bergmann1-1/+2
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) On macOS, where we implicitly use -fvisibility-inlines-hidden-static-local-var since <https://github.com/llvm/llvm-project/commit/d46f2c51e4c849683434bb5a0fb6164957474b8f> "Make -fvisibility-inlines-hidden apply to static local variables in inline functions on Darwin", the static id local var in weld::TransportAsXWindow::getUnoTunnelId cannot be in an inline function implicitly hidden via -fvisibility-inlines-hidden. Explicitly marking the function as VCL_DLLPUBLIC would help, but would in turn cause MSVC error 2487 ("member of a dll interface class may not be declared with dll interface"). So just make the function non-inline in a new vcl/source/window/weldutils.cxx (which would arguably be the best approach for the whole class, anyway). Change-Id: Ib5615f6aae19346ea05b8b85ff77c0e5ea860994 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144331 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-16Use rtl::Reference to avoid a dynamic_castStephan Bergmann1-7/+7
Change-Id: I3b9781cf00df7b740c8b29c6834e54035b255269 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144327 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-16Use rtl::Reference to avoid a dynamic_castStephan Bergmann4-6/+10
Change-Id: I1a439df62a33c7edccbbe62e373690b17b2f6161 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144315 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-14loplugin:implinheritancehelper in frameworkNoel Grandin2-72/+3
use more ImplInheritanceHelper to reduce boilerplate Change-Id: I47eefb8edc2041fa89e64f930b1997566562d51a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144162 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-14loplugin:unocast (framework::AddonsToolBarWrapper)Stephan Bergmann3-3/+20
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I8014f683b939da9d638545c77dbddb3e478a385e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144143 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-12tdf#151376 framework: fix calling in-document macros with reused framesMiklos Vajna3-0/+15
The bugdoc has a macro in it, and after closing the document -> start center -> opening it again, you could no longer trigger the macro by clicking on the URL field in the Calc cell. The problem is that we cache protocol handler instances since 3f768cddd28a2f04eb1ffa30bed4474deb6fbfc4 (framework: avoid re-creating protocol handler instances all the time, 2022-05-02) in frames, but we failed to invalidate this cache when the component of the frame changes. Fix the problem by clearing the cache in XFrameImpl::setComponent(), which gets called in this somewhat rare case when a frame gets reused to host a different component. [ No testcase, I'm not sure how to close a document without disposing its XFrame from code. ] Change-Id: I73ee83ec017f476803010cbf9e514315fc797371 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143998 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-12-06tdf#152134 Customize: assign user macro to menu hangsNoel Grandin1-21/+12
regression from commit d4257daba1155ebccbfebea99bad0e4152ca9b08 Author: Noel Grandin <noelgrandin@gmail.com> Date: Fri Dec 24 20:58:28 2021 +0200 use comphelper::WeakComponentImplHelper in MenuBarManager We should not hold the mutex while firing events, since the mutex is now non-recursive. Change-Id: I6ee45df0bf27df3ca1fd31857285ceb820161d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143671 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-22CppunitTest_framework_services: inherit from UnoApiTestXisco Fauli2-25/+10
Change-Id: I8963f0dbf5e70347ee98e639dc6eeecc0f43b821 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143099 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-22CppunitTest_framework_loadenv: inherit from UnoApiTestXisco Fauli2-15/+10
Change-Id: I9c997691d6b7f0c46089eec86b614bcd1a0d71a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143102 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-22CppunitTest_framework_dispatch: inherit from UnoApiTestXisco Fauli2-27/+10
Change-Id: I9a839ffe01e1d5da49268bd8ad78dbedd8dadc25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143100 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-10Simplify the method and fix its descriptionMike Kaganski1-9/+5
The description had the copy-paste error since commit 648106f879fdf6609db1e0d4c8acb43b3a997833 (Fri Apr 04 16:12:43 2003 +0000) when impl_searchMatchingInterceptor was replaced with findByPattern. Change-Id: I84d8c867b6606ef8adb74df823046b58cf6d9b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142541 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-31lok: fix convert-to batch mode, quiet interactionHenry Castro1-0/+8
If it is a batch mode to convert *.csv to *.ods, use the quiet interaction to avoid unwanted filter dialogs. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I4ef82c1079888ae099084072c146b5db4cc0f2a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141950 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ash@collabora.com>
2022-10-28It's Frame-Controller-Model, not Model-View-ControllerMike Kaganski1-2/+2
Change-Id: I23a867623f77502baed6639ad3e255c06673d67f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141957 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-28Introduce utl::ConnectModelViewControllerMike Kaganski1-5/+2
And use it to avoid code duplication Change-Id: I18447bc1a0388d57a273b310977a0f0fb54152b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141946 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-11Deduplicate O(U)StringConcatenationMike Kaganski1-1/+1
And use an overloaded helper function with a better (?) unified name to show that the result is not an O(U)String. Change-Id: I8956338b05d02bf46a6185828130ea8ef145d46b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141203 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-03tdf#127856: sc: Status bar "languages" when you click...Henry Castro1-1/+5
the popup "More.." button it will show the format cells dialog. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: Idb60decf1c582c906d24d10fc248cfd20f8f4cbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138499 Tested-by: Jenkins
2022-09-30tdf#151172 crash in notebookbar with extension enabledMaxim Monastirsky1-2/+3
Change-Id: I60d777b27ffee095807490f4b181b1b08ed88462 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140683 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2022-09-29split utl::TempFile into fast and named variantsNoel Grandin1-3/+1
which makes it easier to know what each variant requires to stay on it's happy path Change-Id: I3275a2543573367714bc78092e882f6535507285 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140469 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>