Fix for [bug 829] DIB_DirectDrawSurface_Blt same src./dest. surface = screen corruption

Tony Lambregts tony_lambregts at telusplanet.net
Wed Jul 3 11:54:53 CDT 2002


Lionel Ulmer wrote:

>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 :-) ?
>
The thing here is that I only fixed it for when the areas are the same 
size and no other flags are set.  There are possible situations where 
flags are set and/or stretching is involved that this "fix" does not 
solve. This may confusing but it is a warning and it only prints once. 
 Perhaps a little comment along with the warning might be in order.

>
>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.
>  
>
I think you are right that the fall through would be faster, I will 
change the code and resubmit.

>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
>  
>
 I would like to know if this works for FalloutTactics. Thank you  for 
your help.


Tony  Lambregts



>  
>




More information about the wine-devel mailing list