Skip to content

win32: fix WM_TASKBARCREATED deadlock#4563

Open
Invades wants to merge 1 commit intorust-windowing:masterfrom
Invades:win32-taskbar-created
Open

win32: fix WM_TASKBARCREATED deadlock#4563
Invades wants to merge 1 commit intorust-windowing:masterfrom
Invades:win32-taskbar-created

Conversation

@Invades
Copy link
Copy Markdown

@Invades Invades commented Apr 25, 2026

  • Tested on all platforms changed
  • Added an entry to the changelog module if knowledge of this change could be valuable to users
  • Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior
  • Created or updated an example program if it would help users understand this functionality

Fixes a Win32 UI-thread deadlock when handling the registered TaskbarCreated message.
The handler previously held window_state_lock() while calling set_skip_taskbar(...). That call can synchronously re-enter the same window proc through Win32, and the re-entered path can try to acquire the same window state lock again, deadlocking the UI thread.
This copies skip_taskbar out of the window state first, so the lock is dropped before calling set_skip_taskbar(...).

No changelog/docs/example added because this is an internal Win32 deadlock fix with no user-facing API or behavior change beyond avoiding the hang.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant