Javier Cantero : user32: Fix side effect in SubtractRect().
Alexandre Julliard
julliard at winehq.org
Wed Mar 26 14:34:12 CDT 2014
Module: wine
Branch: master
Commit: 1f15169f725894edfa2f33e16b8827d3d2c11a6f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f15169f725894edfa2f33e16b8827d3d2c11a6f
Author: Javier Cantero <jcantero at escomposlinux.org>
Date: Thu Mar 20 16:07:32 2014 +0100
user32: Fix side effect in SubtractRect().
---
dlls/user32/uitools.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/uitools.c b/dlls/user32/uitools.c
index c11a1d3..1afb1c89 100644
--- a/dlls/user32/uitools.c
+++ b/dlls/user32/uitools.c
@@ -1421,14 +1421,14 @@ BOOL WINAPI SubtractRect( LPRECT dest, const RECT *src1, const RECT *src2 )
SetRectEmpty( dest );
return FALSE;
}
- *dest = *src1;
if (IntersectRect( &tmp, src1, src2 ))
{
- if (EqualRect( &tmp, dest ))
+ if (EqualRect( &tmp, src1 ))
{
SetRectEmpty( dest );
return FALSE;
}
+ *dest = *src1;
if ((tmp.top == dest->top) && (tmp.bottom == dest->bottom))
{
if (tmp.left == dest->left) dest->left = tmp.right;
@@ -1440,6 +1440,10 @@ BOOL WINAPI SubtractRect( LPRECT dest, const RECT *src1, const RECT *src2 )
else if (tmp.bottom == dest->bottom) dest->bottom = tmp.top;
}
}
+ else
+ {
+ *dest = *src1;
+ }
return TRUE;
}
More information about the wine-cvs
mailing list