Am Freitag 15 Dezember 2006 13:16 schrieb Dmitry Timoshkov:
"Stefan Dösinger" stefan@codeweavers.com wrote:
- TRACE("(%p) : incrementing IDirectDraw4 refcount from %lu.\n",
This, ref -1); + TRACE("(%p) : incrementing IDirectDraw4 refcount from %u.\n", This, ref -1);
Sorry I forgot to check your original patch for this, but did you check if the IDirectDraw3 refcount is bound to the IDirectDraw4 refcount? I'd suspect that the IDirectDraw3 interface has its own reference count too. See dlls/ddraw/tests/refcount.c
The only thing I have changed is s/%lu/%u, so I don't quite understand your question.
Its not this patch. I didn't see the problem I'm talking about in the first patch, sorry about that.
DirectDraw is a bit strange about refcounting. IDirectDraw, IDirectDraw2, IDirectDraw4 and IDirectDraw7 have their own refcounts for whatever reason. I wondered how IDirectDraw3 behaves. I will extend my test case and see what happens.