From 7035dd554f2475932291bb9cb7084f05f1f75974 Mon Sep 17 00:00:00 2001 From: itsamine27 Date: Tue, 16 Dec 2025 14:50:14 +0100 Subject: [PATCH] winit-win32: Fix ABI mismatch in INIT_MAIN_THREAD_ID Fixes #4435. --- src/platform_impl/windows/event_loop.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/platform_impl/windows/event_loop.rs b/src/platform_impl/windows/event_loop.rs index 2a615e7b4..3771cb6c3 100644 --- a/src/platform_impl/windows/event_loop.rs +++ b/src/platform_impl/windows/event_loop.rs @@ -574,9 +574,11 @@ fn main_thread_id() -> u32 { // // See: https://doc.rust-lang.org/stable/reference/abi.html#the-link_section-attribute #[link_section = ".CRT$XCU"] - static INIT_MAIN_THREAD_ID: unsafe fn() = { - unsafe fn initer() { - unsafe { MAIN_THREAD_ID = GetCurrentThreadId() }; + static INIT_MAIN_THREAD_ID: unsafe extern "C" fn() = { + unsafe extern "C" fn initer() { + unsafe { + MAIN_THREAD_ID = GetCurrentThreadId(); + } } initer };