diff options
author | marha <marha@users.sourceforge.net> | 2010-11-04 16:20:49 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-11-04 16:20:49 +0000 |
commit | 840f23bc506c991216214aa4cfc87978ef739a77 (patch) | |
tree | 3c88f8bea334c218a879322d6c60e14b4977e7d2 /xorg-server/hw/kdrive/linux | |
parent | b50a4f12cd633b412387c4cddc0adbb45256acfe (diff) | |
parent | 41c64098a90b4e974d5005a1619472f2e8a64ea1 (diff) | |
download | vcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.tar.gz vcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.tar.bz2 vcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/hw/kdrive/linux')
-rw-r--r-- | xorg-server/hw/kdrive/linux/tslib.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/xorg-server/hw/kdrive/linux/tslib.c b/xorg-server/hw/kdrive/linux/tslib.c index ee0f779f3..8d6007390 100644 --- a/xorg-server/hw/kdrive/linux/tslib.c +++ b/xorg-server/hw/kdrive/linux/tslib.c @@ -117,15 +117,22 @@ TslibEnable (KdPointerInfo *pi) pi->path = strdup("/dev/input/touchscreen0");
ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path);
}
+
private->tsDev = ts_open(pi->path, 0);
- private->fd = ts_fd(private->tsDev);
- if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) {
+ if (!private->tsDev) {
ErrorF("[tslib/TslibEnable] failed to open %s\n", pi->path);
- if (private->fd >= 0)
- close(private->fd);
return BadAlloc;
}
+ if (ts_config(private->tsDev)) {
+ ErrorF("[tslib/TslibEnable] failed to load configuration\n");
+ ts_close(private->tsDev);
+ private->tsDev = NULL;
+ return BadValue;
+ }
+
+ private->fd = ts_fd(private->tsDev);
+
KdRegisterFd(private->fd, TsRead, pi);
return Success;
|