--- kpowersave-0.7.2/src/kpowersave.cpp-- 2007-03-26 17:18:07.000000000 +0200 +++ kpowersave-0.7.2/src/kpowersave.cpp 2007-03-26 17:20:47.000000000 +0200 @@ -140,11 +140,11 @@ /*! This is the default destructor of class kpowersave. */ kpowersave::~kpowersave(){ myDebug ("kpowersave::~kpowersave"); - - if (hwinfo) - delete hwinfo; - if (display) - delete display; + delete hwinfo; + delete display; +#ifdef ENABLE_YAST_ENTRY + delete yast2; +#endif } /*! @@ -477,15 +477,18 @@ myDebug ("kpowersave::do_config"); #ifdef ENABLE_YAST_ENTRY - if (yast2 != NULL) - delete yast2; + delete yast2; yast2 = new KProcess; *yast2 << "kdesu" << "--nonewdcop" << "/sbin/yast2" << "power-management"; connect(yast2, SIGNAL(processExited(KProcess *)), SLOT(slotConfigProcessExited(KProcess *))); - yast2->start(KProcess::NotifyOnExit); + if(!yast2->start(KProcess::NotifyOnExit)) + { + delete yast2; + yast2 = NULL; + } #else return; #endif @@ -1000,8 +1003,7 @@ // set, if this is a GNOME session, XScreensaver settings back to user default QString session = getenv("DESKTOP_SESSION"); if(session.startsWith("gnome") && (display->checkScreenSaverStatus() == 11)) { - if (xscreensaver != NULL) - delete xscreensaver; + delete xscreensaver; xscreensaver = new KProcess; *xscreensaver << "xscreensaver-command" << "-restart"; @@ -1604,8 +1606,7 @@ // use this to set XScreensaver back to default settings this should // also cover the DPMS settings for GNOME/XScreensaver - if (xscreensaver != NULL) - delete xscreensaver; + delete xscreensaver; xscreensaver = new KProcess; *xscreensaver << "xscreensaver-command" << "-restart"; @@ -1671,7 +1672,6 @@ } if (resumed) { delete autoSuspend; - autoSuspend = NULL; autoSuspend = new autosuspend(); connect(autoSuspend, SIGNAL(inactivityTimeExpired()), this, SLOT(do_autosuspend())); connect(autoSuspend, SIGNAL(inactivityTimeExpired()), this, SLOT(notifyAutosuspend()));