diff options
-rw-r--r-- | src/libcrashreporter-gui/CrashReporter.h | 4 | ||||
-rw-r--r-- | src/libcrashreporter-handler/Handler.cpp | 14 | ||||
-rw-r--r-- | src/libcrashreporter-handler/Handler.h | 6 |
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; } |