Author: greatlrd Date: Tue Apr 18 19:52:48 2006 New Revision: 21650
URL: http://svn.reactos.ru/svn/reactos?rev=21650&view=rev Log: fast cleanup in dib/dib24bpp.c, Fixing a crash bug in dib32bpp.c (typo from me), xlate XO_TABLE can resive 0xffff or 0xffff or 0xffffff or 0xffffffff as color code for table, but the table is only 256 but in color&FF, That will stop firefox crash and translate the color right.
Modified: trunk/reactos/subsystems/win32/win32k/dib/dib24bpp.c trunk/reactos/subsystems/win32/win32k/dib/dib32bpp.c trunk/reactos/subsystems/win32/win32k/eng/xlate.c
Modified: trunk/reactos/subsystems/win32/win32k/dib/dib24bpp.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/dib/... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/dib/dib24bpp.c (original) +++ trunk/reactos/subsystems/win32/win32k/dib/dib24bpp.c Tue Apr 18 19:52:48 2006 @@ -283,12 +283,9 @@ } } else - { - /* FIXME */ - //DPRINT1("DIB_24BPP_Bitblt: Unhandled BltInfo->XlateSourceToDest for 16 -> 16 copy\n"); - // return DIB_16BPP_BitBltSrcCopy(BltInfo); + { sx = BltInfo->SourcePoint.x; - sy = BltInfo->SourcePoint.y; + sy = BltInfo->SourcePoint.y;
for (j=BltInfo->DestRect.top; j<BltInfo->DestRect.bottom; j++) {
Modified: trunk/reactos/subsystems/win32/win32k/dib/dib32bpp.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/dib/... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/dib/dib32bpp.c (original) +++ trunk/reactos/subsystems/win32/win32k/dib/dib32bpp.c Tue Apr 18 19:52:48 2006 @@ -304,7 +304,7 @@ { Dest32 = (DWORD *) DestBits + (BltInfo->DestRect.right - BltInfo->DestRect.left - 1); Source32 = (DWORD *) SourceBits + (BltInfo->DestRect.right - BltInfo->DestRect.left - 1); - for (i = BltInfo->DestRect.right; BltInfo->DestRect.left < i; i--) + for (i = BltInfo->DestRect.right; BltInfo->DestRect.left <= i; i--) { *Dest32-- = XLATEOBJ_iXlate(BltInfo->XlateSourceToDest, *Source32--); }
Modified: trunk/reactos/subsystems/win32/win32k/eng/xlate.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng/... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/xlate.c (original) +++ trunk/reactos/subsystems/win32/win32k/eng/xlate.c Tue Apr 18 19:52:48 2006 @@ -493,9 +493,10 @@
if (XlateObj->flXlate & XO_TRIVIAL) return Color; - - if (XlateObj->flXlate & XO_TABLE) - return XlateObj->pulXlate[Color]; + + if ((XlateObj->flXlate & XO_TABLE)) + return XlateObj->pulXlate[Color & 0xff]; +
if (XlateObj->flXlate & XO_TO_MONO) return Color == XlateObj->pulXlate[0];