From eca778ce68dcff65962edba88cd9f61d36824ee0 Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 23 Jan 2008 15:38:29 +0000 Subject: [PATCH] Fix memory leak using K_GLOBAL_STATIC svn path=/branches/KDE/4.0/kdebase/apps/; revision=765228 --- src/dolphinsettings.cpp | 13 ++++++++----- 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; -- 2.47.3