Validate the parent with the child window client rectangle when the
parent's update region is not empty.
This commit is contained in:
parent
c37dd06f78
commit
8beefb51bf
|
@ -2275,8 +2275,21 @@ nocopy:
|
||||||
if( ow < nw ) r.right = r.left + nw;
|
if( ow < nw ) r.right = r.left + nw;
|
||||||
|
|
||||||
if( IntersectRect( &r, &r, &rClip ) )
|
if( IntersectRect( &r, &r, &rClip ) )
|
||||||
|
{
|
||||||
Wnd->pDriver->pSurfaceCopy( Wnd->parent, dc, dx, dy, &r, TRUE );
|
Wnd->pDriver->pSurfaceCopy( Wnd->parent, dc, dx, dy, &r, TRUE );
|
||||||
|
|
||||||
|
/* When you copy the bits without repainting, parent doesn't
|
||||||
|
get validated appropriately. Therefore, we have to validate
|
||||||
|
the parent with the windows' updated region when the
|
||||||
|
parent's update region is not empty. */
|
||||||
|
|
||||||
|
if (Wnd->parent->hrgnUpdate != 0 && !(Wnd->parent->dwStyle & WS_CLIPCHILDREN))
|
||||||
|
{
|
||||||
|
OffsetRect(&r, dx, dy);
|
||||||
|
ValidateRect(Wnd->parent->hwndSelf, &r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
GDI_HEAP_UNLOCK( hDC );
|
GDI_HEAP_UNLOCK( hDC );
|
||||||
}
|
}
|
||||||
ReleaseDC( (uFlags & SWP_EX_PAINTSELF) ?
|
ReleaseDC( (uFlags & SWP_EX_PAINTSELF) ?
|
||||||
|
|
Loading…
Reference in New Issue