mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 19:26:33 +00:00
[WIN32K]
* 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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user