Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dschmidt/libcrashreporter-qt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Schmidt <dev@dominik-schmidt.de>2021-08-19 17:05:00 +0300
committerGitHub <noreply@github.com>2021-08-19 17:05:00 +0300
commit41124396a01796d239c2d215f1d48a43221e3862 (patch)
treeec548dca48ed0b5ac4203aeffcf6731f18976877
parentcf6fd0ec745edb99fcd4232077a4e5f2ebc4b885 (diff)
parent0339c7f0aade5e40f0a3c3ea447427b6a06660dd (diff)
Merge pull request #29 from dschmidt/fix-linux
Fix ENABLE_GPL_CODE=OFF on Linux
-rw-r--r--src/libcrashreporter-gui/CrashReporter.h4
-rw-r--r--src/libcrashreporter-handler/Handler.cpp14
-rw-r--r--src/libcrashreporter-handler/Handler.h6
3 files changed, 13 insertions, 11 deletions
diff --git a/src/libcrashreporter-gui/CrashReporter.h b/src/libcrashreporter-gui/CrashReporter.h
index 1da7b81..118cfc6 100644
--- a/src/libcrashreporter-gui/CrashReporter.h
+++ b/src/libcrashreporter-gui/CrashReporter.h
@@ -33,7 +33,7 @@ namespace Ui
class CrashReporter;
}
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
class BacktraceGenerator;
#endif
@@ -55,7 +55,7 @@ public:
private:
Ui::CrashReporter* m_ui;
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
BacktraceGenerator* m_btg;
#endif
diff --git a/src/libcrashreporter-handler/Handler.cpp b/src/libcrashreporter-handler/Handler.cpp
index f345305..98c993b 100644
--- a/src/libcrashreporter-handler/Handler.cpp
+++ b/src/libcrashreporter-handler/Handler.cpp
@@ -124,7 +124,7 @@ LaunchUploader( const wchar_t* dump_dir, const wchar_t* minidump_id, void* conte
#include <unistd.h>
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
static bool
GetCrashInfo( const void* crash_context, size_t crash_context_size, void* context )
{
@@ -185,7 +185,7 @@ LaunchUploader( const char* dump_dir, const char* minidump_id, void* context, bo
if ( !s_active || strlen( crashReporter ) == 0 )
return false;
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
const char* applicationName = static_cast<Handler*>(context)->applicationName();
if ( strlen( applicationName ) == 0 )
return false;
@@ -210,7 +210,7 @@ LaunchUploader( const char* dump_dir, const char* minidump_id, void* context, bo
if ( pid == 0 )
{
// we are the fork
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
execl( crashReporter,
crashReporter,
path,
@@ -233,7 +233,7 @@ LaunchUploader( const char* dump_dir, const char* minidump_id, void* context, bo
printf( "Error: Can't launch CrashReporter!\n" );
return false;
}
-#if defined(Q_OS_LINUX) && defined(ENABLE_CRASH_REPORTER)
+#if defined(Q_OS_LINUX) && defined(ENABLE_CRASH_REPORTER) && defined(ENABLE_GPL_CODE)
// If we're running on Linux, we expect that the CrashReporter component will
// attach gdb, do its thing and then kill this process, so we hang here for the
// time being, on purpose. -- Teo 3/2016
@@ -259,7 +259,9 @@ Handler::Handler( const QString& dumpFolderPath, bool active, const QString& cra
this,
true,
-1 );
+ #if defined ENABLE_GPL_CODE
m_crash_handler->set_crash_handler(GetCrashInfo);
+ #endif
#elif defined Q_OS_MAC
m_crash_handler = new google_breakpad::ExceptionHandler( dumpFolderPath.toStdString(), NULL, LaunchUploader, this, true, NULL);
#elif defined Q_OS_WIN
@@ -268,7 +270,7 @@ Handler::Handler( const QString& dumpFolderPath, bool active, const QString& cra
#endif
setCrashReporter( crashReporter );
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
setApplicationData( qApp );
#endif
}
@@ -310,7 +312,7 @@ Handler::setCrashReporter( const QString& crashReporter )
}
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
void
Handler::setApplicationData( const QCoreApplication* app )
{
diff --git a/src/libcrashreporter-handler/Handler.h b/src/libcrashreporter-handler/Handler.h
index 0a4bc80..efa5d78 100644
--- a/src/libcrashreporter-handler/Handler.h
+++ b/src/libcrashreporter-handler/Handler.h
@@ -32,7 +32,7 @@ namespace google_breakpad
namespace CrashReporter
{
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
static bool GetCrashInfo( const void* crash_context, size_t crash_context_size, void* context );
#endif
@@ -40,7 +40,7 @@ class Handler
{
const char* m_crashReporterChar; // yes! It MUST be const char[]
const wchar_t* m_crashReporterWChar;
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
int m_pid;
int m_signalNumber;
const char* m_applicationName;
@@ -62,7 +62,7 @@ public:
const char* crashReporterChar() const { return m_crashReporterChar; }
const wchar_t* crashReporterWChar() const { return m_crashReporterWChar; }
-#ifdef Q_OS_LINUX
+#ifdef ENABLE_GPL_CODE
void setApplicationData( const QCoreApplication* app );
int pid() const { return m_pid; }
int signalNumber() const { return m_signalNumber; }