input: free the EQ allocated memory on shutdown (#38634)

mieqFini() already does the right thing, but it needs to be called by the
various DDXs and the XTest Extension.

X.Org Bug 38634 <http://bugs.freedesktop.org/show_bug.cgi?id=38634>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Acked-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2011-06-27 09:10:42 +10:00
parent e084ac30b3
commit 87d4f90bfc
15 changed files with 33 additions and 6 deletions

View File

@ -679,12 +679,19 @@ GetXTestDevice(DeviceIntPtr master)
return NULL;
}
static void
XTestExtensionTearDown(ExtensionEntry *e)
{
FreeEventList(xtest_evlist, GetMaximumEventsNum());
xtest_evlist = NULL;
}
void
XTestExtensionInit(INITARGS)
{
AddExtension(XTestExtensionName, 0, 0,
ProcXTestDispatch, SProcXTestDispatch,
NULL, StandardMinorOpcode);
XTestExtensionTearDown, StandardMinorOpcode);
xtest_evlist = InitEventList(GetMaximumEventsNum());
}

View File

@ -77,6 +77,7 @@ void InitInput(int argc, char **argv)
void CloseInput(void)
{
mieqFini();
}
/** Called from dix/dispatch.c in Dispatch() whenever input events

View File

@ -97,6 +97,7 @@ InitInput (int argc, char **argv)
void
CloseInput (void)
{
KdCloseInput();
}
#ifdef DDXBEFORERESET

View File

@ -61,6 +61,7 @@ InitInput (int argc, char **argv)
void
CloseInput (void)
{
KdCloseInput ();
}
#ifdef DDXBEFORERESET

View File

@ -47,6 +47,7 @@ InitInput (int argc, char **argv)
void
CloseInput (void)
{
KdCloseInput ();
}
void

View File

@ -500,6 +500,8 @@ KdScreenInfoDispose (KdScreenInfo *si);
/* kinput.c */
void
KdInitInput(void);
void
KdCloseInput(void);
void
KdAddPointerDriver(KdPointerDriver *);

View File

@ -1305,6 +1305,12 @@ KdInitInput (void)
mieqInit();
}
void
KdCloseInput (void)
{
mieqFini();
}
/*
* Middle button emulation state machine
*

View File

@ -148,4 +148,5 @@ InitInput(int argc, char *argv[])
void
CloseInput (void)
{
mieqFini();
}

View File

@ -825,6 +825,7 @@ void
CloseInput (void)
{
config_fini();
mieqFini();
}
/*

View File

@ -108,6 +108,7 @@ InitInput(int argc, char *argv[])
void
CloseInput(void)
{
mieqFini();
}
/*

View File

@ -505,6 +505,10 @@ void InitInput( int argc, char **argv )
QuartzInitInput(argc, argv);
}
void CloseInput(void)
{
DarwinEQFini();
}
/*
* DarwinAdjustScreenOrigins

View File

@ -371,6 +371,10 @@ Bool DarwinEQInit(void) {
return TRUE;
}
Bool DarwinEQFini(void) {
mieqFini();
}
/*
* ProcessInputEvents
* Read and process events from the event queue until it is empty.

View File

@ -32,6 +32,7 @@
#define XQUARTZ_VALUATOR_LIMIT (1 << 16)
Bool DarwinEQInit(void);
Bool DarwinEQFini(void);
void DarwinEQEnqueue(const xEventPtr e);
void DarwinEQPointerPost(DeviceIntPtr pDev, xEventPtr e);
void DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX);

View File

@ -149,8 +149,3 @@ DeleteInputDeviceRequest(DeviceIntPtr dev)
DEBUG_LOG("DeleteInputDeviceRequest(%p)\n", dev);
}
void
CloseInput (void)
{
}

View File

@ -156,4 +156,5 @@ InitInput (int argc, char *argv[])
void
CloseInput (void)
{
mieqFini ();
}