┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Faure <[email protected]>2008-01-23 15:38:29 +0000
committerDavid Faure <[email protected]>2008-01-23 15:38:29 +0000
commiteca778ce68dcff65962edba88cd9f61d36824ee0 (patch)
treec019aea06a0ec29615d8b25985f439c10e3cf552 /src
parent3b30141f6926ae064c52d5571d58484d2f9ef4c0 (diff)
Fix memory leak using K_GLOBAL_STATIC
svn path=/branches/KDE/4.0/kdebase/apps/; revision=765228
Diffstat (limited to 'src')
-rw-r--r--src/dolphinsettings.cpp13
-rw-r--r--src/dolphinsettings.h1
2 files changed, 9 insertions, 5 deletions
diff --git a/src/dolphinsettings.cpp b/src/dolphinsettings.cpp
index 04284c22a..5b91001ef 100644
--- a/src/dolphinsettings.cpp
+++ b/src/dolphinsettings.cpp
@@ -30,13 +30,16 @@
#include "dolphin_generalsettings.h"
#include "dolphin_iconsmodesettings.h"
+class DolphinSettingsSingleton
+{
+public:
+ DolphinSettings instance;
+};
+K_GLOBAL_STATIC(DolphinSettingsSingleton, s_settings)
+
DolphinSettings& DolphinSettings::instance()
{
- static DolphinSettings* instance = 0;
- if (instance == 0) {
- instance = new DolphinSettings();
- }
- return *instance;
+ return s_settings->instance;
}
void DolphinSettings::save()
diff --git a/src/dolphinsettings.h b/src/dolphinsettings.h
index dc1b0a840..71c2007f5 100644
--- a/src/dolphinsettings.h
+++ b/src/dolphinsettings.h
@@ -71,6 +71,7 @@ public:
protected:
DolphinSettings();
virtual ~DolphinSettings();
+ friend class DolphinSettingsSingleton;
private:
GeneralSettings* m_generalSettings;