From 07c56abf84080c020a3e7b7703a447c7f996975c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Vigerl=C3=B6f?= Date: Tue, 10 Apr 2007 23:43:58 +0300 Subject: [PATCH] Input: Plug memory leak in device free Remember to also free the motion history, if we're using the DIX-managed history. --- dix/devices.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dix/devices.c b/dix/devices.c index 9631c8678..004cb13fc 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -431,8 +431,13 @@ CloseDevice(DeviceIntPtr dev) xfree(dev->key); } - if (dev->valuator) + if (dev->valuator) { + /* Counterpart to 'biggest hack ever' in init. */ + if (dev->valuator->motion && + dev->valuator->GetMotionProc == GetMotionHistory) + xfree(dev->valuator->motion); xfree(dev->valuator); + } if (dev->button) { #ifdef XKB