summaryrefslogtreecommitdiffstats
path: root/tdecore/kdebug.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore/kdebug.cpp')
-rw-r--r--tdecore/kdebug.cpp41
1 files changed, 29 insertions, 12 deletions
diff --git a/tdecore/kdebug.cpp b/tdecore/kdebug.cpp
index 5df09fbac..13894cf19 100644
--- a/tdecore/kdebug.cpp
+++ b/tdecore/kdebug.cpp
@@ -222,14 +222,16 @@ static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char
kDebug_data->aAreaName = TDEGlobal::instance()->instanceName();
}
- if (kDebug_data->config && kDebug_data->oldarea != nArea) {
- kDebug_data->config->setGroup( TQString::number(static_cast<int>(nArea)) );
+ if ( kDebug_data->oldarea != nArea ) {
kDebug_data->oldarea = nArea;
- if ( nArea > 0 && TDEGlobal::_instance )
- kDebug_data->aAreaName = getDescrFromNum(nArea);
- if ((nArea == 0) || kDebug_data->aAreaName.isEmpty())
- if ( TDEGlobal::_instance )
+ if( TDEGlobal::_instance ) {
+ if ( nArea > 0 ) {
+ kDebug_data->aAreaName = getDescrFromNum(nArea);
+ }
+ if ( nArea == 0 || kDebug_data->aAreaName.isEmpty() ) {
kDebug_data->aAreaName = TDEGlobal::instance()->instanceName();
+ }
+ }
}
int nPriority = 0;
@@ -249,7 +251,7 @@ static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char
key = "WarnOutput";
aCaption = "Warning";
nPriority = LOG_WARNING;
- break;
+ break;
case KDEBUG_FATAL:
key = "FatalOutput";
aCaption = "Fatal Error";
@@ -264,15 +266,30 @@ static void kDebugBackend( unsigned short nLevel, unsigned int nArea, const char
break;
}
- // if no output mode is specified default to no debug output
- short nOutput = kDebug_data->config ? kDebug_data->config->readNumEntry(key, 4) : 4;
+ short nOutput = -1;
+ if ( kDebug_data->config ) {
+ kDebug_data->config->setGroup( TQString::number(static_cast<int>(nArea)) );
+ nOutput = kDebug_data->config->readNumEntry(key, -1);
+ if( nOutput == -1 ) {
+ kDebug_data->config->setGroup( TQString::fromAscii("Default") );
+ nOutput = kDebug_data->config->readNumEntry(key, -1);
+ }
+ }
+ // if no output mode is specified default to no stderr output
+ // NOTE: don't set this to 4 (no output) because in that case you won't be
+ // able to get any output from applications which don't create
+ // TDEApplication objects.
+ if ( nOutput == -1 ) {
+ nOutput = 2;
+ }
// If the application doesn't have a TQApplication object it can't use
- // a messagebox.
- if (!kapp && (nOutput == 1))
+ // a messagebox, as well as in case of GUI is disabled.
+ if ( nOutput == 1 && ( !kapp || !kapp->guiEnabled()) ) {
nOutput = 2;
- else if ( nOutput == 4 && nLevel != KDEBUG_FATAL )
+ } else if ( nOutput == 4 && nLevel != KDEBUG_FATAL ) {
return;
+ }
const int BUFSIZE = 4096;
char buf[BUFSIZE];