James Hawkins wrote:
Write and submit tests that show the correct behavior, then submit a patch that makes Wine match that behavior. In general, questions like "What's the right fix?" can be answered by thorough, well-thought out tests.
I can write tests for the cases I just described and my fix would work, but I don't think it'd be the right way. I'm not sure what a better way would be though, I think also because I do not fully understand the COM architecture.