summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-05-23 18:20:09 -0500
committerSlávek Banko <slavek.banko@axis.cz>2012-06-03 03:27:31 +0200
commit6821e81fcf6c4139e8d5c09b0ae3fb0b450b32db (patch)
treeb99f25b093d3222b3d3e157d64508af907958af7
parentdc85fb5c872445af3eeea9f7423c7e696700c380 (diff)
downloadtdebase-6821e81fcf6c4139e8d5c09b0ae3fb0b450b32db.tar.gz
tdebase-6821e81fcf6c4139e8d5c09b0ae3fb0b450b32db.zip
Make absolutely sure that kdesktop_lock reads recently changed configuration files when starting up
(cherry picked from commit de4e7b41598b4c8db0948e4c2c216d73e952f7bb)
-rw-r--r--kdesktop/lock/main.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
index 2b590c118..748b67f1c 100644
--- a/kdesktop/lock/main.cc
+++ b/kdesktop/lock/main.cc
@@ -38,6 +38,15 @@
#include <X11/Xlib.h>
#include <fixx11h.h>
+#define OPEN_TDMCONFIG_AND_SET_GROUP \
+if( stat( KDE_CONFDIR "/kdm/kdmdistrc" , &st ) == 0) { \
+ tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/kdm/kdmdistrc" )); \
+} \
+else { \
+ tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/kdm/kdmrc" )); \
+} \
+tdmconfig->setGroup("X-*-Greeter");
+
// [FIXME] Add GUI configuration checkboxes for these three settings (see kdesktoprc [ScreenSaver] UseUnmanagedLockWindows, DelaySaverStart, and UseTDESAK)
bool trinity_desktop_lock_use_system_modal_dialogs = FALSE;
bool trinity_desktop_lock_delay_screensaver_start = FALSE;
@@ -203,13 +212,7 @@ int main( int argc, char **argv )
struct stat st;
KSimpleConfig* tdmconfig;
- if( stat( KDE_CONFDIR "/kdm/kdmdistrc" , &st ) == 0) {
- tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/kdm/kdmdistrc" ));
- }
- else {
- tdmconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/kdm/kdmrc" ));
- }
- tdmconfig->setGroup("X-*-Greeter");
+ OPEN_TDMCONFIG_AND_SET_GROUP
trinity_desktop_lock_use_sak = tdmconfig->readBoolEntry("UseSAK", true);
LockProcess process;
@@ -270,7 +273,8 @@ int main( int argc, char **argv )
// Reload settings to make sure they reflect reality
KDesktopSettings::self()->config()->reparseConfiguration();
- tdmconfig->reparseConfiguration();
+ delete tdmconfig;
+ OPEN_TDMCONFIG_AND_SET_GROUP
trinity_desktop_lock_use_system_modal_dialogs = !KDesktopSettings::useUnmanagedLockWindows();
trinity_desktop_lock_delay_screensaver_start = KDesktopSettings::delaySaverStart();
if (trinity_desktop_lock_use_system_modal_dialogs) {