@@ -77,13 +77,13 @@ HRESULT dds_Blt(
7777
7878 if (lpSrcRect && src_surface )
7979 {
80- // dbg_print_rect("lpSrcRect", lpSrcRect);
80+ dbg_print_rect ("lpSrcRect" , lpSrcRect );
8181 src_rect = * lpSrcRect ;
8282 }
8383
8484 if (lpDestRect )
8585 {
86- // dbg_print_rect("lpDestRect", lpDestRect);
86+ dbg_print_rect ("lpDestRect" , lpDestRect );
8787 dst_rect = * lpDestRect ;
8888 }
8989
@@ -268,7 +268,7 @@ HRESULT dds_Blt(
268268 HDC src_dc ;
269269 dds_GetDC (src_surface , & src_dc );
270270
271- if ((dwFlags & DDBLT_KEYSRC ) || (dwFlags & DDBLT_KEYSRCOVERRIDE ))
271+ if ((( dwFlags & DDBLT_KEYSRC ) && ( src_surface -> flags & DDSD_CKSRCBLT ) ) || (dwFlags & DDBLT_KEYSRCOVERRIDE ))
272272 {
273273 UINT color =
274274 (dwFlags & DDBLT_KEYSRCOVERRIDE ) ?
@@ -326,7 +326,7 @@ HRESULT dds_Blt(
326326 */
327327 }
328328 else if (
329- (dwFlags & DDBLT_KEYSRC ) ||
329+ (( dwFlags & DDBLT_KEYSRC ) && ( src_surface -> flags & DDSD_CKSRCBLT ) ) ||
330330 (dwFlags & DDBLT_KEYSRCOVERRIDE ) ||
331331 mirror_left_right ||
332332 mirror_up_down )
@@ -572,7 +572,7 @@ HRESULT dds_BltFast(
572572 HDC src_dc ;
573573 dds_GetDC (src_surface , & src_dc );
574574
575- if (dwFlags & DDBLTFAST_SRCCOLORKEY )
575+ if (( dwFlags & DDBLTFAST_SRCCOLORKEY ) && ( src_surface -> flags & DDSD_CKSRCBLT ) )
576576 {
577577 UINT color = src_surface -> color_key .dwColorSpaceLowValue ;
578578
@@ -625,7 +625,7 @@ HRESULT dds_BltFast(
625625 SRCCOPY);
626626 */
627627 }
628- else if (dwFlags & DDBLTFAST_SRCCOLORKEY )
628+ else if (( dwFlags & DDBLTFAST_SRCCOLORKEY ) && ( src_surface -> flags & DDSD_CKSRCBLT ) )
629629 {
630630 blt_colorkey (
631631 dst_buf ,
0 commit comments