Am Donnerstag 03 Mai 2007 20:58 schrieb H. Verbeet:
Validation on the rectangle passed to LockRect/Lock is inconsistent across ddraw/d3d8/d3d9. D3d9 doesn't do any validation at all, d3d8 doesn't allow empty, flipped, mirrored, or out of bounds rectangles, while ddraw does allow empty rectangles, but not flipped, mirrored or out of bounds ones. Tests for this are in the next few patches in this set.
You have to take care for IDirectDrawSurface::Blt and BltFast too, because parts of the Blt rectangle checks were done by Lock()