aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-10-23 15:17:39 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-10-23 15:17:39 +0200
commit12d9dcaf8af2bd668c1f03275d82314347c0c153 (patch)
tree361714e651545099c6f34d2927b47a3f86e7aa9d /src
parentRemove lib/ as includepath (diff)
downloadsmolbote-12d9dcaf8af2bd668c1f03275d82314347c0c153.tar.xz
Fix breakpad integration
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp9
-rw-r--r--src/meson.build9
2 files changed, 15 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 4d24084..6ceacab 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -153,8 +153,11 @@ int main(int argc, char **argv)
app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
#ifdef BreakpadEnabled
+ const std::string crashpath = config->value<std::string>("browser.crash.path").value_or("/tmp");
+ assert(!crashpath.empty());
+
BreakpadContext ctx;
- google_breakpad::MinidumpDescriptor descriptor(config->value<std::string>("browser.crash.path").value_or("/tmp").c_str());
+ google_breakpad::MinidumpDescriptor descriptor(crashpath.c_str());
const auto crashHandler = config->value<std::string>("browser.crash.handler");
if(crashHandler) {
@@ -166,6 +169,10 @@ int main(int argc, char **argv)
// minidump descriptor, filter callback, minidump callback, callback_context, install handler, server_fd
google_breakpad::ExceptionHandler eh(descriptor, nullptr, dumpCallback, &ctx, true, -1);
+
+#ifdef QT_DEBUG
+ qDebug("Installed breakpad exception handler (path=%s)", crashpath.c_str());
+#endif
#endif
// translator
diff --git a/src/meson.build b/src/meson.build
index 9ce42d4..0af2be0 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -9,9 +9,14 @@ poi_moc = qt5.preprocess(
dependencies: dep_qt5
)
+features = []
+if dep_breakpad.found()
+ features += '-DBreakpadEnabled'
+endif
+
poi = executable('poi', install: true,
- cpp_args: '-DQAPPLICATION_CLASS=QApplication',
- dependencies: [dep_qt5, dep_boost, dep_breakpad, dep_SingleApplication,
+ cpp_args: ['-DQAPPLICATION_CLASS=QApplication', features],
+ dependencies: [dep_qt5, dep_boost, dep_breakpad, dep_thread, dep_SingleApplication,
dep_about, dep_addressbar, dep_bookmarks, dep_configuration, dep_downloads, dep_urlfilter, dep_web],
include_directories: [include, genheader_inc],
sources: ['main.cpp', poi_moc,