windows: Remove the use of `DispatcherQueue` and fix `FileSaveDialog` unresponsive issue (#17946)
Closes #17069, closes #12410 With the help of @kennykerr (Creator of C++/WinRT and the crate `windows-rs`, Engineer on the Windows team at Microsoft) and @riverar (Windows Development expert), we discovered that this bug only occurs when an IME with a candidate window, such as Microsoft Pinyin IME, is active. In this case, the `FileSaveDialog` becomes unresponsive—while the dialog itself appears to be functioning, it doesn't accept any mouse or keyboard input. After a period of debugging and testing, I found that this issue only arises when using `DispatcherQueue` to dispatch runnables on the UI thread. After @kennykerr’s further investigation, Kenny identified that this is a bug with `DispatcherQueue`, and he recommended to avoid using `DispatcherQueue`. Given the uncertainty about whether Microsoft will address this bug in the foreseeable future, I have removed the use of `DispatcherQueue`. Co-authored-by: Kenny <kenny@kennykerr.ca> Release Notes: - N/A --------- Co-authored-by: Kenny <kenny@kennykerr.ca>
J
Junkui Zhang committed
fbb402ef12b0e61bc02db7a1715d0a36df1b94a7
Parent: 56f9e4c
Committed by GitHub <noreply@github.com>
on 9/17/2024, 10:45:08 PM