summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2009-11-10 16:14:33 +0100
committerMichael Stahl <mst@openoffice.org>2009-11-10 16:14:33 +0100
commit64247dbfa6aac61b897e9c057f6b35b71865c560 (patch)
treef4414b5ff4c7de568766a3c09355f7e59e7ec8a1 /sw
parentc6a6f50998a97fc3903db3428a7ae1652e4bf3ff (diff)
#i105643#: fix regression by making singleton SwThreadManager ctor public
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/docnode/swthreadmanager.cxx7
-rw-r--r--sw/source/core/inc/swthreadmanager.hxx13
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