<p dir="ltr">> >> === w864 (32 bit device) === device.c:5409: Test failed: pBits not<br>
> >> cleared on double lock. device.c:5410: Test failed: Pitch not<br>
> >> cleared on double lock. device: unhandled exception c0000005 at<br>
> >> 742814C8<br>
I've tested your tests on two of my Windows 7 machines, one with a Nvidia Geforce 650M, and another with an AMD X1600. Both behave just like the testbot. I guess this means your original implementation of just not touching the output locked_rect was correct all along.</p>

<p dir="ltr">Volume::Lock clears pBits and both pitches on a failed lock in all failure cases (resource not lockable, misaligned box, already locked, otherwise incorrect box). I haven't tested d3d8 yet. As far as I can see surfaces keep locked_rect untouched in all error conditions. I also haven't tested Windows XP yet because my Visual Studio 2012 generated .exe files don't run there any more :-\ .</p>

<p dir="ltr">Cheers,<br>
Stefan</p>