From ed8d50ba3a6f837d213ed7c39c2b63d33fc75a38 Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Fri, 20 Apr 2012 15:08:08 -0700 Subject: Destroy generic event extension after last display is removed The extension record is currently leaked and never freed. Signed-off-by: Chase Douglas Signed-off-by: Peter Hutterer --- src/Xge.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Xge.c b/src/Xge.c index 74e4802..1f37e59 100644 --- a/src/Xge.c +++ b/src/Xge.c @@ -218,7 +218,15 @@ _xgeDpyClose(Display* dpy, XExtCodes* codes) XFree(xge_data); } - return XextRemoveDisplay(xge_info, dpy); + if(!XextRemoveDisplay(xge_info, dpy)) + return 0; + + if (xge_info->ndisplays == 0) { + XextDestroyExtension(xge_info); + xge_info = NULL; + } + + return 1; } /* -- cgit v1.2.1