ScrollDC fixes.

Alexandre Julliard julliard at
Tue Mar 8 03:43:14 CST 2005

Rein Klazes <wijn at> writes:

> Hmm, this is about pixels that are copied from the outside of the
> visible region to the inside (that area will be invalidated and
> repainted if called through ScrollWindowEx, but with noticeable
> flickering and there might be direct uses of ScrollDC with worse
> effects).
> Since the visible region did not work, I did not try adding an extra
> clip region. Indeed, adding: "SelectClipRgn( hdc, visrgn);" does not
> help at all.
> Can the real bug perhaps be in BitBlt?

I doubt that, I don't see how copying the single rectangle of the
bounding box of the region would be different from copying every
individual rectangle.

> That is what the XFlush() is for, and it seems to work quite nicely
> (after BitBlitting regions of over 50 separate rectangles). Without it,
> it is a mess indeed.

The XFlush is just hiding the bug, try it on a low latency link and
you'll see. You'd need an XSync but that would just cause an extra
round trip for no good reason.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list