2008/7/25 Aric Stewart <[EMAIL PROTECTED]>:
> -        IWineD3DSurface_LockRect(iface, &dlock, NULL, 0);
> +        IWineD3DSurface_LockRect(iface, &dlock, DestRect, 0);
>         dfmt = This->resource.format;
>         slock = dlock;
I don't think you can simply insert DestRect there, unless it's the
same as SrcRect (because of the slock = dlock line a few lines down).

>     if (DestRect)
>     {
> -        xdst = *DestRect;
> +        xdst.top = 0;
> +        xdst.bottom = DestRect->bottom - DestRect->top;
> +        xdst.left = 0;
> +        xdst.right = DestRect->right - DestRect->left;
>     }
This will break things like checking for out of surface rectangles,
clipping and overlapping blits.

Stefan knows this part of the code better than me, but I don't think
there's anything wrong with the concept of the patch.


Reply via email to