On Wed, Aug 8, 2012 at 10:49 AM, Keith Packard <[email protected]> wrote:
> Hotplugging screens causes the render filter names to get freed while
> still in use; wait for the last core screen to be closed before
> freeing them. That only happens at server reset, when we want them to
> be freed.

Indeed, ugly but effective, maybe in the future we can make some sort
of notifier systems to hook into for global objects to be freed at
certain times,

But otherwise,

Reviewed-by: Dave Airlie <[email protected]>
>
> Signed-off-by: Keith Packard <[email protected]>
> ---
>  render/filter.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/render/filter.c b/render/filter.c
> index 8c401ee..019ea7f 100644
> --- a/render/filter.c
> +++ b/render/filter.c
> @@ -273,7 +273,10 @@ PictureResetFilters(ScreenPtr pScreen)
>
>      free(ps->filters);
>      free(ps->filterAliases);
> -    PictureFreeFilterIds();
> +
> +    /* Free the filters when the last screen is closed */
> +    if (pScreen->myNum == 0)
> +        PictureFreeFilterIds();
>  }
>
>  int
> --
> 1.7.10.4
>
> _______________________________________________
> [email protected]: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________
[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