author | ulf69 <ulf69> | 2004-07-01 01:38:10 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-07-01 01:38:10 (UTC) |
commit | d419ee83db7d2549c701fe89b678be619a7ce4d3 (patch) (side-by-side diff) | |
tree | 2c6974dd047c51d7703d74f04217eafa6924b756 /microkde | |
parent | e3e162fb75c497b95a9a9b43792fa88c998b265c (diff) | |
download | kdepimpi-d419ee83db7d2549c701fe89b678be619a7ce4d3.zip kdepimpi-d419ee83db7d2549c701fe89b678be619a7ce4d3.tar.gz kdepimpi-d419ee83db7d2549c701fe89b678be619a7ce4d3.tar.bz2 |
adding reentrant flag, to avoid recursive call
-rw-r--r-- | microkde/kglobal.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/microkde/kglobal.cpp b/microkde/kglobal.cpp index 0aba952..6fa0dd6 100644 --- a/microkde/kglobal.cpp +++ b/microkde/kglobal.cpp @@ -1,9 +1,10 @@ #include "kglobal.h" +#include "kstandarddirs.h" #include <qkeycode.h> #include <qapplication.h> KLocale *KGlobal::mLocale = 0; KConfig *KGlobal::mConfig = 0; KIconLoader *KGlobal::mIconLoader = 0; KStandardDirs *KGlobal::mDirs = 0; @@ -23,18 +24,25 @@ KLocale *KGlobal::locale() //US void KGlobal::setLocale(KLocale *kg) { mLocale = kg; } KConfig *KGlobal::config() { + static bool reentrant = false; + + if (reentrant) + return 0; + if ( !mConfig ) { - mConfig = new KConfig( KStandardDirs::appDir() + mAppName + "rc" ); + reentrant = true; + mConfig = new KConfig( locateLocal("config", mAppName + "rc" ) ); + reentrant = false; } return mConfig; } KGlobal::Size KGlobal::getDesktopSize() { #ifdef DESKTOP_VERSION |