From 64247dbfa6aac61b897e9c057f6b35b71865c560 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 10 Nov 2009 16:14:33 +0100 Subject: #i105643#: fix regression by making singleton SwThreadManager ctor public --- sw/source/core/docnode/swthreadmanager.cxx | 7 +------ sw/source/core/inc/swthreadmanager.hxx | 13 +++++++++---- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'sw') diff --git a/sw/source/core/docnode/swthreadmanager.cxx b/sw/source/core/docnode/swthreadmanager.cxx index 4f2ea3f1624d..3f06c26de608 100644 --- a/sw/source/core/docnode/swthreadmanager.cxx +++ b/sw/source/core/docnode/swthreadmanager.cxx @@ -50,14 +50,9 @@ SwThreadManager::SwThreadManager() SwThreadManager::~SwThreadManager() { - delete mpThreadManagerImpl; } -struct InitInstance : public rtl::StaticWithInit { - SwThreadManager operator () () { - return SwThreadManager(); - } -}; +struct InitInstance : public rtl::Static {}; SwThreadManager& SwThreadManager::GetThreadManager() { diff --git a/sw/source/core/inc/swthreadmanager.hxx b/sw/source/core/inc/swthreadmanager.hxx index 113437df8879..e3d08955433b 100644 --- a/sw/source/core/inc/swthreadmanager.hxx +++ b/sw/source/core/inc/swthreadmanager.hxx @@ -34,6 +34,10 @@ #include #include +#include +#include + + class ObservableThread; class ThreadManager; @@ -45,6 +49,7 @@ class ThreadManager; @author OD */ class SwThreadManager + : private ::boost::noncopyable { public: @@ -52,6 +57,9 @@ class SwThreadManager static bool ExistsThreadManager(); + // private: don't call! + SwThreadManager(); + // private: don't call! ~SwThreadManager(); oslInterlockedCount AddThread( const rtl::Reference< ObservableThread >& rThread ); @@ -77,11 +85,8 @@ class SwThreadManager private: static bool mbThreadManagerInstantiated; - friend struct InitInstance; - ThreadManager* mpThreadManagerImpl; - - SwThreadManager(); + ::std::auto_ptr mpThreadManagerImpl; }; #endif -- cgit