Hi,

On Wed, Mar 23, 2011 at 11:40:40AM +0000, Chris Wilson wrote:
> diff --git a/fb/fbscreen.c b/fb/fbscreen.c
> index 2502efe..392de81 100644
> --- a/fb/fbscreen.c
> +++ b/fb/fbscreen.c
> @@ -87,7 +87,8 @@ _fbGetWindowPixmap (WindowPtr pWindow)
>  void
>  _fbSetWindowPixmap (WindowPtr pWindow, PixmapPtr pPixmap)
>  {
> -    dixSetPrivate(&pWindow->devPrivates, fbGetWinPrivateKey(), pPixmap);
> +    if (pPixmap != pWindow->drawable.pScreen->devPrivate)
> +     dixSetPrivate(&pWindow->devPrivates, fbGetWinPrivateKey(), pPixmap);
>  }

Don't you want something like:
    if (pPixmap == pWindow->drawable.pScreen->devPrivate)
        pPixmap = NULL;
    dixSetPrivate(&pWindow->devPrivates, fbGetWinPrivateKey(), pPixmap);
instead?

Else, AFAICT, unredirecting windows will fail as trying to change the
window pixmap from a non-screen pixmap to the screen pixmap will be a
no-op.

Cheers,
Daniel

Attachment: signature.asc
Description: Digital signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to