Fix redraw bug by correcting nonclient region calculation. (Window->UpdateRegion has no proper values)

TODO: calculate and/or update  Window->UpdateRegion properly
See issue #4181 for details.

svn path=/trunk/; revision=42836
This commit is contained in:
Matthias Kupfer 2009-08-21 22:23:22 +00:00
parent 5ad980f439
commit b728102816

View file

@ -168,7 +168,7 @@ IntGetNCUpdateRgn(PWINDOW_OBJECT Window, BOOL Validate)
if (Window->UpdateRegion != NULL &&
Window->UpdateRegion != (HRGN)1)
{
hRgnNonClient = NtGdiCreateRectRgn(0, 0, 0, 0);
hRgnNonClient = IntCalcWindowRgn(Window, FALSE);
/*
* If region creation fails it's safe to fallback to whole
@ -186,7 +186,7 @@ IntGetNCUpdateRgn(PWINDOW_OBJECT Window, BOOL Validate)
return (HRGN)1;
}
RgnType = NtGdiCombineRgn(hRgnNonClient, Window->UpdateRegion,
RgnType = NtGdiCombineRgn(hRgnNonClient, hRgnNonClient,
hRgnWindow, RGN_DIFF);
if (RgnType == ERROR)
{