Evgeniy Boltik <bstsoft@narod.ru>

- Fix copypaste mistake in EngStretchBltROP.
- Fix check in EngStretchBltROP, it should check original InputRect, not the clipped one.
- Fix improper variable type in DIB_XXBPP_StretchBlt: PatternX and PatternY could be negative.
See issue #4336 for more details.

svn path=/trunk/; revision=40362
This commit is contained in:
Aleksey Bragin 2009-04-04 18:24:24 +00:00
parent c0fd81e39e
commit fe2cbf3735
2 changed files with 5 additions and 5 deletions

View file

@ -50,7 +50,7 @@ BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, SURFOBJ *Ma
PFN_DIB_GetPixel fnPattern_GetPixel = NULL;
PFN_DIB_GetPixel fnMask_GetPixel = NULL;
ULONG PatternX = 0, PatternY = 0;
LONG PatternX = 0, PatternY = 0;
BOOL UsesSource = ROP4_USES_SOURCE(ROP);
BOOL UsesPattern = ROP4_USES_PATTERN(ROP);

View file

@ -938,8 +938,8 @@ EngStretchBltROP(
}
if (OutputRect.bottom < OutputRect.top)
{
OutputRect.left = prclDest->right;
OutputRect.right = prclDest->left;
OutputRect.top = prclDest->bottom;
OutputRect.bottom = prclDest->top;
}
InputRect = *prclSrc;
@ -1198,8 +1198,8 @@ IntEngStretchBlt(SURFOBJ *psoDest,
}
InputRect = *SourceRect;
if (InputClippedRect.right < InputClippedRect.left ||
InputClippedRect.bottom < InputClippedRect.top)
if (InputRect.right < InputRect.left ||
InputRect.bottom < InputRect.top)
{
/* Everything clipped away, nothing to do */
return TRUE;