You have fixed object to *object, what about other places with a similar problem? Also, the stubs have to use FIXME not TRACE, and if you do nothing with a passed in parameter, don't assign it to an internal variable. There is no need to cast NULL either. If you allocate memory on object creation, you must free it on object destruction. There is no need to initialize 'object' to NULL if on the next line you are doing an attempt to allocate it. What's the point of adding all those includes to d3dx9_36_private.h if you are not using them?
Thanks for that detailed response :) I have fixed what you said and have attached the fixed patch to this mail. The added includes prevented the compilation from failing, but some of them were really not needed as you pointed out. If there won't be any criticisms until tomorrow afternoon I'll resend it to wine-patches.