summaryrefslogtreecommitdiffabout
path: root/pwmanager/pwmanager/pwmprefs.cpp
Side-by-side diff
Diffstat (limited to 'pwmanager/pwmanager/pwmprefs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/pwmprefs.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/pwmanager/pwmanager/pwmprefs.cpp b/pwmanager/pwmanager/pwmprefs.cpp
index fdc34e0..68d5b68 100644
--- a/pwmanager/pwmanager/pwmprefs.cpp
+++ b/pwmanager/pwmanager/pwmprefs.cpp
@@ -31,7 +31,7 @@
#include "pwmprefs.h"
PWMPrefs *PWMPrefs::sInstance = 0;
-static KStaticDeleter<PWMPrefs> staticDeleter;
+static KStaticDeleter<PWMPrefs> staticDeleterPP;
PWMPrefs::PWMPrefs()
: KPimPrefs("pwmanagerrc")
@@ -68,17 +68,21 @@ PWMPrefs::PWMPrefs()
}
PWMPrefs::~PWMPrefs()
-{
+{
+ if (sInstance == this)
+ sInstance = staticDeleterPP.setObject(0);
+ else
+ qDebug("Whats this? Error in PWMPrefs::~PWMPrefs()?");
}
PWMPrefs *PWMPrefs::instance()
{
if ( !sInstance ) {
#ifdef PWM_EMBEDDED
- sInstance = staticDeleter.setObject( new PWMPrefs() );
+ sInstance = staticDeleterPP.setObject( new PWMPrefs() );
#else //PWM_EMBEDDED
//US the following line has changed ???. Why
- staticDeleter.setObject( sInstance, new PWMPrefs() );
+ staticDeleterPP.setObject( sInstance, new PWMPrefs() );
#endif //KAB_EMBEDDED
sInstance->readConfig();
}