summaryrefslogtreecommitdiff
path: root/src/wcmConfig.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-03-14 15:42:00 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-03-14 15:42:00 +1000
commita3b6e2079155c5774baabcd9e3c53b3336536e49 (patch)
treeb5ab8ff3229115f80e078dc24702a565367420ee /src/wcmConfig.c
parent43c82c3139ef8b9abee7eb79a8d9055df9874329 (diff)
parent69d3e9387105e0a92cae95f6f81a62e868506c06 (diff)
downloadxf86-input-wacom-a3b6e2079155c5774baabcd9e3c53b3336536e49.tar.gz
Merge branch 'race-condition'
Diffstat (limited to 'src/wcmConfig.c')
-rw-r--r--src/wcmConfig.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/wcmConfig.c b/src/wcmConfig.c
index 5d9d85b..2bf0ed3 100644
--- a/src/wcmConfig.c
+++ b/src/wcmConfig.c
@@ -249,6 +249,8 @@ static void wcmUninit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
DBG(1, priv, "\n");
+ /* Server 1.10 will UnInit all devices for us */
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
if (priv->isParent)
{
/* HAL removal sees the parent device removed first. */
@@ -273,6 +275,7 @@ static void wcmUninit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
free(pInfo->name);
pInfo->name = NULL;
}
+#endif
if (priv->tool)
{
@@ -337,6 +340,11 @@ static Bool wcmMatchDevice(InputInfoPtr pLocal, WacomCommonPtr *common_return)
{
DBG(2, priv, "port share between %s and %s\n",
pLocal->name, pMatch->name);
+ /* FIXME: we loose the common->wcmTool here but it
+ * gets re-added during wcmParseOptions. This is
+ * currently required by the code, adding the tool
+ * again here means we trigger the duplicate tool
+ * detection */
wcmFreeCommon(&priv->common);
priv->common = wcmRefCommon(privMatch->common);
priv->next = priv->common->wcmDevices;