Am Montag, 14. Mai 2012, 18:45:01 schrieb paulo lesgaz:
But I can write a small test. Would writing a test attaching an offscreen
surface to another offscreen surface be enough to convince you of the correctness of the change? I recommend to port the entire AttachmentTest from dlls/ddraw/tests/dsurface.c to IDirectDrawSurface4. Please place the new test in ddraw4.c and follow the code style there. I'd be extra greatful if you could move AttachmentTest to ddraw1.c, AttachmentTest7 to ddraw7.c and also create a IDirectDrawSurface3 version in ddraw2.c.
Yes, that's a lot of work for fixing the bug. But ddraw is a complex API with many quirks, and we're past the point where quick fixes can be made without thurough testing.
As Matteo says, it probably makes more sense to forward Surface3 to Surface4 and change the Surface4 behavior than the other way around.