Iain Arnell wrote:
On Wed, Jun 23, 2010 at 10:47 AM, Stefan Dösinger stefandoesinger@gmx.at wrote:
Am Mittwoch 23 Juni 2010 10:40:30 schrieb Stefan Dösinger:
You're catching only the GDI surface case here since opengl surfaces don't use IWineD3DBaseSurfaceImpl_BltFast. I recommend to put this check into ddraw, like in your previous attempts(but keep checking for < 0, don't do any bit testing magic like in your old patches)
I'd hope that the opengl implementation also has some checking of its own.
I did the nasty bit twiddling to avoid making any assumptions about equivalence of types (is it always safe to assume that DWORD can be cast as a LONG?). And gcc optimizes dstx < 0 away as "comparison of unsigned expression < 0 is always false".
In the Windows world: - DWORD == unsigned int32 - LONG == signed int32
bye michael