- Patch by Javier Cantero : Fix side effect in SubtractRect().
- Sync port from wine with modifications

svn path=/trunk/; revision=62609
This commit is contained in:
James Tabor 2014-04-04 14:40:51 +00:00
parent 1f753ef84f
commit 2fce3630ab

View file

@ -193,16 +193,20 @@ SubtractRect(LPRECT lprcDst,
if(lprcDst == NULL || lprcSrc1 == NULL || lprcSrc2 == NULL) if(lprcDst == NULL || lprcSrc1 == NULL || lprcSrc2 == NULL)
return(FALSE); return(FALSE);
CopyRect(lprcDst, lprcSrc1);
if(!IntersectRect(&tempRect, lprcSrc1, lprcSrc2)) if(!IntersectRect(&tempRect, lprcSrc1, lprcSrc2))
{
*lprcDst = *lprcSrc1;
return(TRUE); return(TRUE);
}
if (EqualRect(&tempRect, lprcDst)) if (EqualRect(&tempRect, lprcSrc1))
{ {
SetRectEmpty(lprcDst); SetRectEmpty(lprcDst);
return FALSE; return FALSE;
} }
*lprcDst = *lprcSrc1;
if(lprcDst->top == tempRect.top && lprcDst->bottom == tempRect.bottom) if(lprcDst->top == tempRect.top && lprcDst->bottom == tempRect.bottom)
{ {
if(lprcDst->left == tempRect.left) if(lprcDst->left == tempRect.left)