-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x/exp/shiny: windriver: client windows cannot be closed #25587
Comments
@ktye can you provide some small program example that I can run to see the problem for myself?
We could put TODO in that code for the future. Alex |
This is a minimal example for you: A nicer one, would be: If you accept the 3 line fix mentioned above and commit it yourself, I'm perfectly ok with it. Kai |
This is certainly broken. Thanks for taking time to create an example.
Please, prepare the CL. It takes 2 people to make the change - first
I disagree. I think you should add call into _DefWindowProc in
I think you should also add a TODO in sendClose to say that WM_CLOSE /cc @nigeltao just FYI Alex |
Change https://golang.org/cl/115515 mentions this issue: |
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?go version go1.9.2 windows/amd64
Does this issue reproduce with the latest release?
It should be unrelated
What operating system and processor architecture are you using (
go env
)?windows/amd64
What did you do?
What did you expect to see?
the window to disappear
What did you see instead?
Is it still the right place to create issues and to send patches for shiny?
The solution to the issue is:
The MS docs say:
An application can prompt the user for confirmation, prior to destroying a window, by processing the WM_CLOSE message and calling the DestroyWindow function only if the user confirms the choice.
By default, the DefWindowProc function calls the DestroyWindow function to destroy the window.
I could send in a CL if this is the right place.
The fix would be in:
x/exp/shiny/driver/internal/win32/win32.go: in func windowWndProc:
Of course this closes the window immediately without possible interception, which isn't supported by shiny at this stage anyway.
The text was updated successfully, but these errors were encountered: