The patch looks fine to me. There is just one comment opn these lines :
+ if (SameSurface) + { + static BOOL WarnSurface = FALSE; + if (!WarnSurface) + { + FIXME("\tSame source and destination could cause display problems\n"); + WarnSurface = TRUE; + } + }
Why did you add this ? If you verified your patch and it's working, why add additionnal debug informations that will only confuse people :-) ? Moreover, I do not know the performance hit between a 'memcpy' and a 'memmove', but well, one could have put the old code in a if (!SameSurface) to have the fastest path available to the most common case. A part from these nitpicks, the patch looks fine and I will test it this evening on FalloutTactics to see if it fixes the screen corruption :-) Lionel -- Lionel Ulmer - http://www.bbrox.org/