slade/0001-build-allow-deactivating-the-crash-handler-at-build-.patch
Jan Engelhardt 6afcedf9d0 NOTE: This is untested!
- Update to version 3.2.6:
  * Please see Release Notes upstream at
    https://github.com/sirjuddington/SLADE/releases
- Drop patches fixed upstream:
  * disable_sse.patch
  * 0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
- Disable patches that needs rebase or dropping:
  * basepk3.diff
  * wx.diff
  * clzma.diff
- Rebase  0001-build-allow-deactivating-the-crash-handler-at-build-.patch
- Replace wxWidgets-3_0-devel for wxWidgets-devel BuildRequires:
  Package builds just fine with the newer 3.2 version.
- Add pkgconfig(libmpg123) BuildRequires: New dependency.

OBS-URL: https://build.opensuse.org/package/show/games:tools/slade?expand=0&rev=44
2024-11-27 16:03:11 +00:00

47 lines
1.5 KiB
Diff

From 519a5a5f87527a344ab04efa0947d5d8e75294e5 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sun, 28 Jun 2020 12:38:40 +0200
Subject: [PATCH] build: allow deactivating the crash handler at build time
(#1166)
SLADE's own crash handler has two problems:
* it inhibits the generation of a proper crashdump
* it calls functions that not async-signal safe and/or re-entrant,
such as malloc (by way of backtrace(3)), which can lead to a hang
when the initial crash happened in malloc,
Fixes: #1166
---
COMPILE.md | 1 +
src/Application/SLADEWxApp.cpp | 2 +-
src/CMakeLists.txt | 4 ++++
3 files changed, 6 insertions(+), 1 deletion(-)
Index: SLADE-3.2.6/src/Application/SLADEWxApp.cpp
===================================================================
--- SLADE-3.2.6.orig/src/Application/SLADEWxApp.cpp
+++ SLADE-3.2.6/src/Application/SLADEWxApp.cpp
@@ -449,7 +449,7 @@ bool SLADEWxApp::OnInit()
#endif
// Handle exceptions using wxDebug stuff, but only in release mode
-#ifdef NDEBUG
+#if defined(USE_CRASHHANDLER) && defined(NDEBUG)
wxHandleFatalExceptions(true);
#endif
Index: SLADE-3.2.6/src/CMakeLists.txt
===================================================================
--- SLADE-3.2.6.orig/src/CMakeLists.txt
+++ SLADE-3.2.6/src/CMakeLists.txt
@@ -41,3 +41,7 @@ if (WIN32 AND MSVC)
else ()
include("unix") # Linux or MacOS
endif ()
+if (NOT NO_CRASHHANDLER)
+ add_definitions(-DUSE_CRASHHANDLER)
+endif ()
+