diff options
author | Michael Stahl <mst@openoffice.org> | 2009-11-10 16:14:33 +0100 |
---|---|---|
committer | Michael Stahl <mst@openoffice.org> | 2009-11-10 16:14:33 +0100 |
commit | 64247dbfa6aac61b897e9c057f6b35b71865c560 (patch) | |
tree | f4414b5ff4c7de568766a3c09355f7e59e7ec8a1 /sw | |
parent | c6a6f50998a97fc3903db3428a7ae1652e4bf3ff (diff) |
#i105643#: fix regression by making singleton SwThreadManager ctor public
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/docnode/swthreadmanager.cxx | 7 | ||||
-rw-r--r-- | sw/source/core/inc/swthreadmanager.hxx | 13 |
2 files changed, 10 insertions, 10 deletions
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, InitInstance> { - SwThreadManager operator () () { - return SwThreadManager(); - } -}; +struct InitInstance : public rtl::Static<SwThreadManager, InitInstance> {}; 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 <osl/mutex.hxx> #include <rtl/ref.hxx> +#include <boost/utility.hpp> +#include <memory> + + 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<ThreadManager> mpThreadManagerImpl; }; #endif |