On 2014-11-17 15:41, Adam Jackson wrote:
> diff --git a/dix/window.c b/dix/window.c
> index a82c294..af63703 100644
> --- a/dix/window.c
> +++ b/dix/window.c
> @@ -2748,7 +2748,7 @@ UnmapWindow(WindowPtr pWin, Bool fromConfigure)
>      if (SubStrSend(pWin, pParent))
>          DeliverUnmapNotify(pWin, fromConfigure);
>      if (wasPaintable && !fromConfigure) {
> -        pWin->valdata = UnmapValData;
> +        (*pScreen->MarkWindow) (pWin);
>          (*pScreen->MarkOverlappedWindows) (pWin, pWin->nextSib, &pLayerWin);
>          (*pScreen->MarkWindow) (pLayerWin->parent);
>      }

This is going to leak a valdata every time a window wasPaintable and
becomes not paintable. miValidateTree, near the bottom, just sets
valdata to NULL after emptying the clip list. (I didn't see an addition
of a free() in PATCH 2/8, but that hunk should probably be with this
patch anyway to avoid breaking bisect).

Peter Harris
-- 
               Open Text Connectivity Solutions Group
Peter Harris                    http://connectivity.opentext.com/
Research and Development        Phone: +1 905 762 6001
phar...@opentext.com            Toll Free: 1 877 359 4866
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to