http://bugs.winehq.org/show_bug.cgi?id=6589
------- Additional Comments From mikolaj.zalewski@gmail.com 2006-02-11 16:17 ------- You should not step through MS code with a debugger! AFAIK this can be interpretted as stealing their trade secrets or something like that.
Checking the return code is the good start however if it's simple to make a testcase it's better. This is a good candidate for a first patch and including a testcase will make nearly 100% sure it will get accepted (except if you make a formal mistake - e.g. C++ comments, two patches in one mail, L"String" etc.).
Adding a test is easy. Try to copy the dlls/quartz/tests/filtergraph.c and include/wine/test.c to a Windows drive add a #define STANDALONE on the top of filtergraphs. After maybe some fidling with include paths it should compile. According to http://test.winehq.org/data all tests should pass i.e. the console should be empty. Add a test that checks the return value and check that it passes. Now copy the new code to dlls/quartz/tests/filetergraph.c and run "make test" in dlls/quartz/tests. The test should fail (output on the console, return 1 to make will stop it) but after modifing the return value it should pass. And you have the material for a patch.
All the tests are also automatically build in programs/winetests as *.exe files and can be copied to Windows. However it's not practical if you want to make changes in the code.