Sync with trunk r62754.
[reactos.git] / win32ss / user / user32 / windows / rect.c
index 451407c..7ca28fb 100644 (file)
@@ -193,16 +193,20 @@ SubtractRect(LPRECT lprcDst,
     if(lprcDst == NULL || lprcSrc1 == NULL || lprcSrc2 == NULL)
         return(FALSE);
 
-    CopyRect(lprcDst, lprcSrc1);
-
     if(!IntersectRect(&tempRect, lprcSrc1, lprcSrc2))
+    {
+        *lprcDst = *lprcSrc1;
         return(TRUE);
+    }
 
-    if (EqualRect(&tempRect, lprcDst))
+    if (EqualRect(&tempRect, lprcSrc1))
     {
         SetRectEmpty(lprcDst);
         return FALSE;
     }
+
+    *lprcDst = *lprcSrc1;
+
     if(lprcDst->top == tempRect.top && lprcDst->bottom == tempRect.bottom)
     {
         if(lprcDst->left == tempRect.left)