[PATCH 1/1] winevulkan: Propagate access violation from the Unix side.
Paul Gofman
wine at gitlab.winehq.org
Thu May 19 14:53:33 CDT 2022
From: Paul Gofman <pgofman at codeweavers.com>
---
dlls/winevulkan/vulkan_loader.h | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/winevulkan/vulkan_loader.h b/dlls/winevulkan/vulkan_loader.h
index 2efa56e0193..62ab59e32d2 100644
--- a/dlls/winevulkan/vulkan_loader.h
+++ b/dlls/winevulkan/vulkan_loader.h
@@ -98,9 +98,19 @@ struct wine_vk_debug_report_params
extern const struct unix_funcs *unix_funcs;
extern unixlib_handle_t unix_handle DECLSPEC_HIDDEN;
-static inline NTSTATUS vk_unix_call(enum unix_call code, void *params)
+#define vk_unix_call(code, params) vk_unix_call_(__FUNCTION__, code, params)
+static inline NTSTATUS vk_unix_call_(const char * function, enum unix_call code, void *params)
{
- return __wine_unix_call(unix_handle, code, params);
+ NTSTATUS ret;
+ if ((ret = __wine_unix_call(unix_handle, code, params)) == STATUS_ACCESS_VIOLATION)
+ {
+ volatile int *null_ptr = NULL;
+
+ MESSAGE("wine: winevulkan: access violation calling %u from %s.\n", code, function);
+ /* Propagate access violation. */
+ *null_ptr = 1;
+ }
+ return ret;
}
struct unix_funcs
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/99
More information about the wine-devel
mailing list