Just open and close a client that creates cursors in order to reproduce. In the problem case bits->refcnt is -1 and therefore bits->devPrivates is never released.
Signed-off-by: Rami Ylimaki <ext-rami.ylim...@nokia.com> --- dix/cursor.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/dix/cursor.c b/dix/cursor.c index d1248c4..660a55b 100644 --- a/dix/cursor.c +++ b/dix/cursor.c @@ -86,6 +86,8 @@ FreeCursorBits(CursorBitsPtr bits) #ifdef ARGB_CURSOR xfree(bits->argb); #endif + dixFreePrivates(bits->devPrivates); + bits->devPrivates = NULL; if (bits->refcnt == 0) { GlyphSharePtr *prev, this; @@ -100,7 +102,6 @@ FreeCursorBits(CursorBitsPtr bits) CloseFont(this->font, (Font)0); xfree(this); } - dixFreePrivates(bits->devPrivates); xfree(bits); } } -- 1.6.0.4 _______________________________________________ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel