summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorAlejandro Exojo <suy@badopi.org>2014-03-07 12:20:30 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-14 18:20:21 +0100
commit6d05f5faff8b125c3e43192b857990e7f0ff208d (patch)
tree88401bc3d514b008ad5b2c64958306307a4733ac /src/corelib/global
parent2e49b7a3b99a0f02c2521656fa2f573c2ea40150 (diff)
Make QtCriticalMsg exit on QT_FATAL_CRITICALS
Change-Id: I92e8f9851dd074f3bcded6981f5545d1e93b549f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qglobal.cpp2
-rw-r--r--src/corelib/global/qlogging.cpp5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 108866b8df..66664f0f2a 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -3291,6 +3291,8 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters)
stderr. Under Windows, the message is sent to the debugger.
On Blackberry the message is sent to slogger2.
+ It exits if the environment variable QT_FATAL_CRITICALS is not empty.
+
This function takes a format string and a list of arguments,
similar to the C printf() function. The format should be a Latin-1
string.
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
index 64dd544cf0..d8ef8a57a8 100644
--- a/src/corelib/global/qlogging.cpp
+++ b/src/corelib/global/qlogging.cpp
@@ -83,6 +83,11 @@ static bool isFatal(QtMsgType msgType)
if (msgType == QtFatalMsg)
return true;
+ if (msgType == QtCriticalMsg) {
+ static bool fatalCriticals = !qEnvironmentVariableIsEmpty("QT_FATAL_CRITICALS");
+ return fatalCriticals;
+ }
+
if (msgType == QtWarningMsg || msgType == QtCriticalMsg) {
static bool fatalWarnings = !qEnvironmentVariableIsEmpty("QT_FATAL_WARNINGS");
return fatalWarnings;