From ea004488f6d55eaebe58c595ac53392bf936b5e4 Mon Sep 17 00:00:00 2001 From: Noel Date: Thu, 18 Mar 2021 11:23:01 +0200 Subject: use single-use attribute for ToolbarControllerFactory instead of rtl::Instance, which means it will get cleaned up when UNO shuts down Change-Id: Ie856c5954965fc640dc34d500664be924ddab69c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112684 Tested-by: Jenkins Reviewed-by: Noel Grandin --- framework/source/uifactory/uicontrollerfactory.cxx | 21 +-------------------- framework/util/fwk.component | 3 ++- 2 files changed, 3 insertions(+), 21 deletions(-) (limited to 'framework') diff --git a/framework/source/uifactory/uicontrollerfactory.cxx b/framework/source/uifactory/uicontrollerfactory.cxx index 5f81f80be026..493d1d5522d0 100644 --- a/framework/source/uifactory/uicontrollerfactory.cxx +++ b/framework/source/uifactory/uicontrollerfactory.cxx @@ -288,24 +288,6 @@ ToolbarControllerFactory::ToolbarControllerFactory( const Reference< XComponentC { } -struct ToolbarControllerFactoryInstance { - explicit ToolbarControllerFactoryInstance( - css::uno::Reference const & context): - instance(static_cast( - new ToolbarControllerFactory(context))) - { - } - - css::uno::Reference instance; -}; - -struct ToolbarControllerFactorySingleton: - public rtl::StaticWithArg< - ToolbarControllerFactoryInstance, - css::uno::Reference, - ToolbarControllerFactorySingleton> -{}; - class StatusbarControllerFactory : public UIControllerFactory { public: @@ -366,8 +348,7 @@ com_sun_star_comp_framework_ToolBarControllerFactory_get_implementation( css::uno::XComponentContext *context, css::uno::Sequence const &) { - return cppu::acquire(static_cast( - ToolbarControllerFactorySingleton::get(context).instance.get())); + return cppu::acquire(new ToolbarControllerFactory(context)); } extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * diff --git a/framework/util/fwk.component b/framework/util/fwk.component index 2d71213468d6..80af7267b774 100644 --- a/framework/util/fwk.component +++ b/framework/util/fwk.component @@ -145,7 +145,8 @@ + constructor="com_sun_star_comp_framework_ToolBarControllerFactory_get_implementation" + single-instance="true"> -- cgit