The extension record is currently leaked and never freed.
Signed-off-by: Chase Douglas <[email protected]>
---
src/XExtInt.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/XExtInt.c b/src/XExtInt.c
index 43738a2..27638bd 100644
--- a/src/XExtInt.c
+++ b/src/XExtInt.c
@@ -434,7 +434,16 @@ XInputClose(
XFree((char *)((XInputData *) info->data)->vers);
XFree((char *)info->data);
}
- return XextRemoveDisplay(xinput_info, dpy);
+
+ if (!XextRemoveDisplay(xinput_info, dpy))
+ return 0;
+
+ if (xinput_info->ndisplays == 0) {
+ XextDestroyExtension(xinput_info);
+ xinput_info = NULL;
+ }
+
+ return 1;
}
static int
--
1.7.9.1
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel