From f3152e5818e9a867361bb7597a45bc0c192d3c87 Mon Sep 17 00:00:00 2001 From: Exeldro Date: Wed, 4 Mar 2026 10:24:04 +0100 Subject: [PATCH] libobs: Add module version number to Windows crash handler --- libobs/obs-win-crash-handler.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/libobs/obs-win-crash-handler.c b/libobs/obs-win-crash-handler.c index 664a9c6eb12305..c629dc63289077 100644 --- a/libobs/obs-win-crash-handler.c +++ b/libobs/obs-win-crash-handler.c @@ -221,14 +221,24 @@ static BOOL CALLBACK enum_all_modules(PCTSTR module_name, DWORD64 module_base, U dstr_copy(&data->module_name, name_utf8); strlwr(data->module_name.array); } - + struct win_version_info ver = {0}; + if (get_dll_ver(module_name, &ver)) { +#ifdef _WIN64 + dstr_catf(&data->module_list, "%016" PRIX64 "-%016" PRIX64 " %s (%d.%d.%d.%d)\r\n", module_base, + module_base + module_size, name_utf8, ver.major, ver.minor, ver.build, ver.revis); +#else + dstr_catf(&data->module_list, "%08" PRIX64 "-%08" PRIX64 " %s (%d.%d.%d.%d)\r\n", module_base, + module_base + module_size, name_utf8, ver.major, ver.minor, ver.build, ver.revis); +#endif + } else { #ifdef _WIN64 - dstr_catf(&data->module_list, "%016" PRIX64 "-%016" PRIX64 " %s\r\n", module_base, module_base + module_size, - name_utf8); + dstr_catf(&data->module_list, "%016" PRIX64 "-%016" PRIX64 " %s\r\n", module_base, + module_base + module_size, name_utf8); #else - dstr_catf(&data->module_list, "%08" PRIX64 "-%08" PRIX64 " %s\r\n", module_base, module_base + module_size, - name_utf8); + dstr_catf(&data->module_list, "%08" PRIX64 "-%08" PRIX64 " %s\r\n", module_base, + module_base + module_size, name_utf8); #endif + } return true; }