[PATCH xserver] composite: Update borderClip in compAllocPixmap()

Keith Packard keithp at keithp.com
Mon Oct 17 14:34:34 PDT 2011

On Sun,  9 Oct 2011 01:11:04 +0300, Ville Syrjala <syrjala at sci.fi> wrote:

> Previously the parent constrained borderClip was copied over
> when compRedirectWindow() is called. That is insufficient eg. in
> case the window was already redirected, but not yet realized. So
> copy the borderClip over in compAllocPixmap() instead.

Ah, because (*miSetRedirectBorderClipProc) is only called when
pWin->redirectDraw is not RedirectDrawNone, so the cw->borderClip region
is not kept up-to-date while the window is unmapped.

> -	/* Make sure our borderClip is correct for ValidateTree */
>  	RegionNull(&cw->borderClip);
> -	RegionCopy(&cw->borderClip, &pWin->borderClip);
> -	cw->borderClipX = pWin->drawable.x;
> -	cw->borderClipY = pWin->drawable.y;

Note that compCheckRedirect is called before ValidateTree in this
function, so the region *will* get copied if the window is realized.

Reviewed-by: Keith Packard <keithp at keithp.com>

keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20111017/774d0543/attachment-0001.pgp>

More information about the xorg-devel mailing list