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
