]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix memory leak using K_GLOBAL_STATIC
authorDavid Faure <faure@kde.org>
Wed, 23 Jan 2008 15:38:29 +0000 (15:38 +0000)
committerDavid Faure <faure@kde.org>
Wed, 23 Jan 2008 15:38:29 +0000 (15:38 +0000)
svn path=/branches/KDE/4.0/kdebase/apps/; revision=765228

src/dolphinsettings.cpp
src/dolphinsettings.h

index 04284c22a324367ecb003099eebda6a149ecd6fa..5b91001eff8af499b675cc901076298800b12b17 100644 (file)
 #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()
index dc1b0a8401d57c572c723f8917e1e22ffce59004..71c2007f5adf72926a5fd23151d26e1a002b901e 100644 (file)
@@ -71,6 +71,7 @@ public:
 protected:
     DolphinSettings();
     virtual ~DolphinSettings();
+    friend class DolphinSettingsSingleton;
 
 private:
     GeneralSettings* m_generalSettings;