summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-04-20 16:31:09 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-04-20 16:31:09 +1000
commita77dea1caa5aa632adad10028ed86544b4bb65e1 (patch)
tree3be00245321fed0683387a971ade55c2e4226ffd
parent993e011b91d318dcb8df76799e5102a20060a169 (diff)
parent5fb1e841eb26f6223504e46dacfc40c2e510f72d (diff)
Merge branch 'master' of git://gitorious.org/omcfadde/xf86-input-evdev
-rw-r--r--src/draglock.c2
-rw-r--r--src/emuWheel.c2
-rw-r--r--src/evdev.c20
3 files changed, 15 insertions, 9 deletions
diff --git a/src/draglock.c b/src/draglock.c
index 6157cae..a7ad974 100644
--- a/src/draglock.c
+++ b/src/draglock.c
@@ -145,6 +145,8 @@ EvdevDragLockPreInit(InputInfoPtr pInfo)
if (next_num != NULL && *next_num == '\0')
next_num = NULL;
}
+
+ xfree(option_string);
}
/* Updates DragLock button state and fires button event messges */
diff --git a/src/emuWheel.c b/src/emuWheel.c
index 3f0dfd4..afafff7 100644
--- a/src/emuWheel.c
+++ b/src/emuWheel.c
@@ -232,8 +232,8 @@ EvdevWheelEmuHandleButtonMap(InputInfoPtr pInfo, WheelAxisPtr pAxis, char* axis_
} else {
xf86Msg(X_WARNING, "%s: Invalid %s value:\"%s\"\n",
pInfo->name, axis_name, option_string);
-
}
+ xfree(option_string);
/* Clean up and log what happened */
if (msg) {
diff --git a/src/evdev.c b/src/evdev.c
index 5eb4a06..0678edf 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1236,6 +1236,7 @@ EvdevAddAbsClass(DeviceIntPtr device)
pEvdev->flags |= EVDEV_RELATIVE_MODE;
else
xf86Msg(X_INFO, "%s: unknown mode, use default\n", pInfo->name);
+ xfree(mode);
}
return Success;
@@ -1371,15 +1372,16 @@ EvdevInitButtonMapping(InputInfoPtr pInfo)
/* Check for user-defined button mapping */
if ((mapping = xf86CheckStrOption(pInfo->options, "ButtonMapping", NULL)))
{
- char *s = " ";
+ char *map, *s = " ";
int btn = 0;
xf86Msg(X_CONFIG, "%s: ButtonMapping '%s'\n", pInfo->name, mapping);
+ map = mapping;
while (s && *s != '\0' && nbuttons < EVDEV_MAXBUTTONS)
{
- btn = strtol(mapping, &s, 10);
+ btn = strtol(map, &s, 10);
- if (s == mapping || btn < 0 || btn > EVDEV_MAXBUTTONS)
+ if (s == map || btn < 0 || btn > EVDEV_MAXBUTTONS)
{
xf86Msg(X_ERROR,
"%s: ... Invalid button mapping. Using defaults\n",
@@ -1389,8 +1391,9 @@ EvdevInitButtonMapping(InputInfoPtr pInfo)
}
pEvdev->btnmap[nbuttons++] = btn;
- mapping = s;
+ map = s;
}
+ xfree(mapping);
}
for (i = nbuttons; i < ArrayLength(pEvdev->btnmap); i++)
@@ -1631,8 +1634,7 @@ static int
EvdevCacheCompare(InputInfoPtr pInfo, BOOL compare)
{
EvdevPtr pEvdev = pInfo->private;
- size_t len;
- int i;
+ int i, len;
char name[1024] = {0};
unsigned long bitmask[NLONGS(EV_CNT)] = {0};
@@ -1781,8 +1783,9 @@ EvdevProbe(InputInfoPtr pInfo)
xf86Msg(X_ERROR, "Grab failed. Device already configured?\n");
return 1;
}
- } else if (pEvdev->grabDevice) {
- ioctl(pInfo->fd, EVIOCGRAB, (void *)0);
+ } else if (pEvdev->grabDevice && ioctl(pInfo->fd, EVIOCGRAB, (void *)0)) {
+ xf86Msg(X_WARNING, "%s: Release failed (%s)\n", pInfo->name,
+ strerror(errno));
}
/* Trinary state for ignoring axes:
@@ -2072,6 +2075,7 @@ EvdevPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
num_calibration = sscanf(str, "%d %d %d %d",
&calibration[0], &calibration[1],
&calibration[2], &calibration[3]);
+ xfree(str);
if (num_calibration == 4)
EvdevSetCalibration(pInfo, num_calibration, calibration);
else