diff --git a/reactos/subsystems/win32/win32k/dib/dib24bpp.c b/reactos/subsystems/win32/win32k/dib/dib24bpp.c index 65bed6d5953..db72c66c8cd 100644 --- a/reactos/subsystems/win32/win32k/dib/dib24bpp.c +++ b/reactos/subsystems/win32/win32k/dib/dib24bpp.c @@ -286,7 +286,21 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) { /* FIXME */ //DPRINT1("DIB_24BPP_Bitblt: Unhandled BltInfo->XlateSourceToDest for 16 -> 16 copy\n"); - return DIB_16BPP_BitBltSrcCopy(BltInfo); + // return DIB_16BPP_BitBltSrcCopy(BltInfo); + sx = BltInfo->SourcePoint.x; + sy = BltInfo->SourcePoint.y; + + for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) + { + sx = BltInfo->SourcePoint.x; + for (i=BltInfo->DestRect.left; iDestRect.right; i++) + { + DWORD pixel = DIB_24BPP_GetPixel(BltInfo->SourceSurface, sx, sy); + DIB_24BPP_PutPixel(BltInfo->DestSurface, i, j, XLATEOBJ_iXlate(BltInfo->XlateSourceToDest, pixel)); + sx++; + } + sy++; + } } break;