IWineD3DBaseSurfaceImpl_BltFast: bug when Blitting with same source and destination Surfaces.

I have found, that certain games, makes a scroll with Blitting fast,
with
the same source and destination surfaces.
The actual code, erases the original contents, because the use of MEMCPY
instead
of MEMMOVE, when the Blit is for move contents for make a scroll.
I have fixed it, and then, the games, for example Silver (from
Infogrames) that use
for scrolling the background, works yet.
If you read the patch, you can see, that if the copy is line by line,
compares
the two pointers, source and code, for make direct, or reversed copy.
The patch:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: surface_base.patch
Type: text/x-patch
Size: 1725 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080101/65aa9d45/attachment.bin