author | ulf69 <ulf69> | 2004-07-01 01:38:10 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-07-01 01:38:10 (UTC) |
commit | d419ee83db7d2549c701fe89b678be619a7ce4d3 (patch) (unidiff) | |
tree | 2c6974dd047c51d7703d74f04217eafa6924b756 | |
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,5 +1,6 @@ | |||
1 | #include "kglobal.h" | 1 | #include "kglobal.h" |
2 | #include "kstandarddirs.h" | ||
2 | #include <qkeycode.h> | 3 | #include <qkeycode.h> |
3 | #include <qapplication.h> | 4 | #include <qapplication.h> |
4 | 5 | ||
5 | KLocale *KGlobal::mLocale = 0; | 6 | KLocale *KGlobal::mLocale = 0; |
@@ -27,10 +28,17 @@ void KGlobal::setLocale(KLocale *kg) | |||
27 | } | 28 | } |
28 | 29 | ||
29 | KConfig *KGlobal::config() | 30 | KConfig *KGlobal::config() |
30 | { | 31 | { |
32 | static bool reentrant = false; | ||
33 | |||
34 | if (reentrant) | ||
35 | return 0; | ||
36 | |||
31 | if ( !mConfig ) { | 37 | if ( !mConfig ) { |
32 | mConfig = new KConfig( KStandardDirs::appDir() + mAppName + "rc" ); | 38 | reentrant = true; |
39 | mConfig = new KConfig( locateLocal("config", mAppName + "rc" ) ); | ||
40 | reentrant = false; | ||
33 | } | 41 | } |
34 | 42 | ||
35 | return mConfig; | 43 | return mConfig; |
36 | } | 44 | } |