On Tue, Jul 8, 2008 at 2:10 AM, Alexandre Julliard <[EMAIL PROTECTED]> wrote:
> "Lei Zhang" <[EMAIL PROTECTED]> writes:
>
>> @@ -1808,6 +1808,10 @@ static BOOL fixup_flags( WINDOWPOS *winpos )
>>      if ((wndPtr->rectWindow.right - wndPtr->rectWindow.left == winpos->cx) 
>> &&
>>          (wndPtr->rectWindow.bottom - wndPtr->rectWindow.top == winpos->cy))
>>          winpos->flags |= SWP_NOSIZE;    /* Already the right size */
>> +    else if (((winpos->flags & 
>> (SWP_NOZORDER|SWP_NOREDRAW|SWP_FRAMECHANGED|SWP_NOACTIVATE)) == 
>> SWP_NOREDRAW) &&
>> +        (wndPtr->rectWindow.right - wndPtr->rectWindow.left == origSize.x) 
>> &&
>> +        (wndPtr->rectWindow.bottom - wndPtr->rectWindow.top == origSize.y))
>> +        winpos->flags |= SWP_NOSIZE;    /* Already the right size */
>
> It makes no sense to compare the window rect against the original size
> since the window rect hasn't been changed yet, it will always
> match. Also I fail to see why this would have anything to do with
> SWP_NOREDRAW. I think you are on the wrong track with this bug.

You're right, the problem required more investigation and I'll have a
better patch soon. Though while running the user32 tests, I did see
situations where those comparisons do not return true.


Reply via email to