diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-05-23 18:20:09 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-06-03 03:27:31 +0200 |
commit | 6821e81fcf6c4139e8d5c09b0ae3fb0b450b32db (patch) | |
tree | b99f25b093d3222b3d3e157d64508af907958af7 | |
parent | dc85fb5c872445af3eeea9f7423c7e696700c380 (diff) | |
download | tdebase-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.cc | 20 |
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) { |