diff options
| author | David Faure <[email protected]> | 2008-01-23 15:40:43 +0000 |
|---|---|---|
| committer | David Faure <[email protected]> | 2008-01-23 15:40:43 +0000 |
| commit | 34f13357c0141d615988046417d1e89adc45c5ee (patch) | |
| tree | e10b5e18ee9cb71c5db25b255110a6c25e11657b /src | |
| parent | 43cef87c15260068ef2babe8e2aedc89bee8f8eb (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.cpp | 13 | ||||
| -rw-r--r-- | src/dolphinsettings.h | 1 |
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; |
