┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Faure <[email protected]>2008-01-23 15:40:43 +0000
committerDavid Faure <[email protected]>2008-01-23 15:40:43 +0000
commit34f13357c0141d615988046417d1e89adc45c5ee (patch)
treee10b5e18ee9cb71c5db25b255110a6c25e11657b /src
parent43cef87c15260068ef2babe8e2aedc89bee8f8eb (diff)
Fix memory leak using K_GLOBAL_STATIC
svn path=/trunk/KDE/kdebase/apps/; revision=765229
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;