Both the file dialog and the message dialogs use GetActiveWindow to parent the dialogs to the calling window. However, according to https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getactivewindow, this function only returns the active window for the calling thread, and as the use of these Windows APIs are in the asynchronous executor, GetActiveWindow always returns NULL.
I've implemented and tested a fix for this, which can be found in the uploaded file (extension renamed so that I could upload it).
portable-file-dialogs.txt
Both the file dialog and the message dialogs use
GetActiveWindow
to parent the dialogs to the calling window. However, according to https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getactivewindow, this function only returns the active window for the calling thread, and as the use of these Windows APIs are in the asynchronousexecutor
,GetActiveWindow
always returns NULL.I've implemented and tested a fix for this, which can be found in the uploaded file (extension renamed so that I could upload it). portable-file-dialogs.txt