From: David Faure Date: Wed, 23 Jan 2008 15:40:43 +0000 (+0000) Subject: Fix memory leak using K_GLOBAL_STATIC X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/34f13357c0141d615988046417d1e89adc45c5ee Fix memory leak using K_GLOBAL_STATIC svn path=/trunk/KDE/kdebase/apps/; revision=765229 --- 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;