* Fix a copy-paste error in EngBitBlt() and improve DIB_32BPP_ColorFill() behaviour in case when input rectangle is invalid (RECTL structure fields are signed, so "jle" instruction should be used instead of "jbe").
* Patch by Igor Sudarikov <4seev3 at gmail [dot] com>
See issue #4423 for more details.

svn path=/trunk/; revision=54138
This commit is contained in:
Amine Khaldi
2011-10-14 18:03:07 +00:00
parent bf47d19f10
commit d1532096b8
2 changed files with 3 additions and 12 deletions
@@ -39,11 +39,11 @@ _DIB_32BPP_ColorFill:
mov ebx, [edx+8] /* ebx = prcl->right; */
sub ebx, [edx] /* ebx = prcl->right - prcl->left; */
jbe .end /* if (ebx <= 0) goto end; */
jle .end /* if (ebx <= 0) goto end; */
mov edx, [edx+12] /* edx = prcl->bottom; */
sub edx, edi /* edx -= prcl->top; */
jbe .end /* if (eax <= 0) goto end; */
jle .end /* if (eax <= 0) goto end; */
mov eax, [ebp+16] /* eax = iColor; */
cld
+1 -10
View File
@@ -349,16 +349,7 @@ EngBitBlt(SURFOBJ *DestObj,
//DPRINT1("Rop4 : 0x%08x\n", Rop4);
OutputRect = *DestRect;
if (OutputRect.right < OutputRect.left)
{
OutputRect.left = DestRect->right;
OutputRect.right = DestRect->left;
}
if (OutputRect.bottom < OutputRect.top)
{
OutputRect.left = DestRect->right;
OutputRect.right = DestRect->left;
}
RECTL_vMakeWellOrdered(&OutputRect);
if (UsesSource)
{