aboutsummaryrefslogtreecommitdiff
path: root/c/util.h
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2022-08-28 00:09:09 +0200
committerJohn Ankarström <john@ankarstrom.se>2022-08-28 00:09:09 +0200
commit90c253dcfeb16a5972f913449422e3b5eabd92b8 (patch)
tree5451c394796654e970c7d7093e973f2c3e8ac18e /c/util.h
parentfa9aa6a4418c77ac2a7c03cc73cfecc6caddb4ad (diff)
downloadEpisodeBrowser-90c253dcfeb16a5972f913449422e3b5eabd92b8.tar.gz
Set termination handler for fetch thread.
MSVC has separate handlers per thread.
Diffstat (limited to 'c/util.h')
-rw-r--r--c/util.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/c/util.h b/c/util.h
index 729e64d..0d8a835 100644
--- a/c/util.h
+++ b/c/util.h
@@ -10,6 +10,15 @@
#define CONCAT(a, b) CONCAT_IMPL(a, b)
#define _ CONCAT(unused_, __LINE__)
+#define SET_TERMINATE \
+ std::set_terminate([]() noexcept \
+ { \
+ ShowException( \
+ L"Episode Browser was terminated due to an error: %s", \
+ L"Fatal Error", MB_ICONERROR); \
+ _Exit(1); \
+ })
+
template <typename F>
struct Finally
{