From 0c44e144ab5ae9336fb563dfbd36959bb5a64c0c Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Thu, 14 May 2026 09:43:14 +0300 Subject: [PATCH 1/2] fix: exclude WER code from Xbox builds in native backend --- CMakeLists.txt | 2 +- src/backends/sentry_backend_native.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2de2efb74..2beb48d70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -790,7 +790,7 @@ elseif(SENTRY_BACKEND_NATIVE) # Native backend sources and configuration are in src/CMakeLists.txt # The native backend requires C11 for atomics (set in src/CMakeLists.txt) - if(WIN32) + if(WIN32 AND NOT XBOX) add_library(sentry-wer SHARED src/backends/native/sentry_wer.c src/backends/native/sentry_wer.def diff --git a/src/backends/sentry_backend_native.c b/src/backends/sentry_backend_native.c index abf46dc19..fe1af9322 100644 --- a/src/backends/sentry_backend_native.c +++ b/src/backends/sentry_backend_native.c @@ -11,7 +11,7 @@ # if defined(SENTRY_PLATFORM_LINUX) || defined(SENTRY_PLATFORM_ANDROID) # include # endif -#elif defined(SENTRY_PLATFORM_WINDOWS) +#elif defined(SENTRY_PLATFORM_WINDOWS) && !defined(SENTRY_PLATFORM_XBOX) # include #endif @@ -65,7 +65,7 @@ static sentry_mutex_t g_ipc_init_mutex = SENTRY__MUTEX_INIT; # endif #endif -#if defined(SENTRY_PLATFORM_WINDOWS) +#if defined(SENTRY_PLATFORM_WINDOWS) && !defined(SENTRY_PLATFORM_XBOX) static sentry_wer_registration_t g_wer_registration = { 0 }; static sentry_path_t *g_wer_path = NULL; @@ -520,7 +520,7 @@ native_backend_startup( SENTRY_DEBUG("Daemon signaled ready"); } -# if defined(SENTRY_PLATFORM_WINDOWS) +# if defined(SENTRY_PLATFORM_WINDOWS) && !defined(SENTRY_PLATFORM_XBOX) wer_register_module(tid); # endif @@ -529,7 +529,9 @@ native_backend_startup( # if defined(SENTRY_PLATFORM_UNIX) kill(state->daemon_pid, SIGTERM); # elif defined(SENTRY_PLATFORM_WINDOWS) +# if !defined(SENTRY_PLATFORM_XBOX) wer_unregister_module(); +# endif // On Windows, terminate the daemon process HANDLE hDaemon = OpenProcess(PROCESS_TERMINATE, FALSE, state->daemon_pid); @@ -559,7 +561,7 @@ native_backend_shutdown(sentry_backend_t *backend) return; } -#if defined(SENTRY_PLATFORM_WINDOWS) +#if defined(SENTRY_PLATFORM_WINDOWS) && !defined(SENTRY_PLATFORM_XBOX) wer_unregister_module(); #endif From a5e0a7011a9024ad97baf0dcbfe1afd53dcad901 Mon Sep 17 00:00:00 2001 From: Ivan Tustanivskyi Date: Thu, 14 May 2026 10:21:49 +0300 Subject: [PATCH 2/2] Fix install --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2beb48d70..ff3308505 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -879,7 +879,7 @@ elseif(SENTRY_BACKEND_NATIVE) # Make sentry library depend on crash daemon so it's always built together add_dependencies(sentry sentry-crash) - if(WIN32) + if(WIN32 AND NOT XBOX) add_dependencies(sentry sentry-wer) endif() @@ -887,7 +887,7 @@ elseif(SENTRY_BACKEND_NATIVE) install(TARGETS sentry-crash RUNTIME DESTINATION bin ) - if(WIN32) + if(WIN32 AND NOT XBOX) install(TARGETS sentry-wer RUNTIME DESTINATION bin LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"