From 8d84e2f2e163bceec8870893d7de55d14174f333 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 4 Jul 2019 15:12:55 +0200 Subject: CrashHandler: Allow enabling per executable ...by specifying the executable names in QTC_USE_CRASH_HANDLER. Examples: # enable for all supported executables QTC_USE_CRASH_HANDLER=1 QTC_USE_CRASH_HANDLER=yes QTC_USE_CRASH_HANDLER=all # enable for specific executables QTC_USE_CRASH_HANDLER=qtcreator,clangbackend Change-Id: Ie6f1ad001cea077b8b90b89356f597a4c11378b9 Reviewed-by: Christian Kandeler --- src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp b/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp index 6f1baff4c7..fd24e6b543 100644 --- a/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp +++ b/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp @@ -34,6 +34,7 @@ #ifdef BUILD_CRASH_HANDLER #include +#include #include #include @@ -95,8 +96,14 @@ CrashHandlerSetup::CrashHandlerSetup(const QString &appName, const QString &executableDirPath) { #ifdef BUILD_CRASH_HANDLER - if (qEnvironmentVariableIsEmpty("QTC_USE_CRASH_HANDLER")) + const QString value = qEnvironmentVariable("QTC_USE_CRASH_HANDLER"); + if (value.trimmed().isEmpty()) return; + if (!QStringList{"1", "all", "yes"}.contains(value)) { + const QString binaryName = QFileInfo(QCoreApplication::applicationFilePath()).fileName(); + if (!value.split(",", QString::SkipEmptyParts).contains(binaryName)) + return; + } appNameC = qstrdup(qPrintable(appName)); -- cgit v1.2.3