Re: Extensive ScrollDC investigation (resubmit)
Aric Stewart <aric(a)codeweavers.com> writes:
@@ -120,13 +122,58 @@ BOOL CDECL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, const RECT *lprcScroll, if( TRACE_ON( scroll)) dump_region( "Destination scroll region: ", DstRgn); /* if there are any, do it */ if( res > NULLREGION) { - RECT rect ; + RECT rect; + HRGN UpdateClip = CreateRectRgn(0,0,0,0); + /* Scroll Window does not scroll any already invalid areas */ + if (GetUpdateRgn(WindowFromDC(hdc),UpdateRgn,FALSE)!=NULLREGION) + { + HRGN SrcMask; + /* Apparently special case. If the update Rgn fills the entire + DstRgn windows appears to ignore it */
This looks very wrong. Retrieving the update region from a DC doesn't seem right in the first place, and it you have to ignore it in some cases it shows that there's something else going on here. -- Alexandre Julliard julliard(a)winehq.org
participants (1)
-
Alexandre Julliard