Skip to content
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

Bug: IDropSource needs to return Ok values #2080

Closed
littleBugHunter opened this issue Oct 1, 2022 · 1 comment
Closed

Bug: IDropSource needs to return Ok values #2080

littleBugHunter opened this issue Oct 1, 2022 · 1 comment
Labels
bug Something isn't working

Comments

@littleBugHunter
Copy link

Which crate is this about?

windows

Crate version

0.42.0

Summary

IDropSource implements two functions IDropSource::GiveFeedback and IDropSource::QueryContinueDrag
Both return an OK Value other than S_OK, but their rust signature simply returns Result<()> eating up the actual HRESULT code.
This way the DragDrop Operation never finishes because DRAGDROP_S_DROP is never returned.

As far as my understanding goes this is a problem with the metatadata similar to: #1512

I've opened microsoft/win32metadata#1291 with a request to add the PreserveSig metadata to the two functions.

Toolchain version/configuration

No response

Reproducible example

No response

Crate manifest

No response

Expected behavior

return DRAGDROP_S_DROP from IDropSource::QueryContinueDrag to finish the Drag Drop operation and return DRAGDROP_S_USEDEFAULTCURSORS from IDropSource::GiveFeedback in order to update the cursor style.

Actual behavior

Nothing happens and App freezes while the drag drop operation never finishes

Additional comments

No response

@littleBugHunter littleBugHunter added the bug Something isn't working label Oct 1, 2022
@kennykerr
Copy link
Collaborator

Thanks for opening the win32metadata issue - once that's fixed, we can automatically update the windows crate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants