aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/kdrive
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-11-04 16:20:49 +0000
committermarha <marha@users.sourceforge.net>2010-11-04 16:20:49 +0000
commit840f23bc506c991216214aa4cfc87978ef739a77 (patch)
tree3c88f8bea334c218a879322d6c60e14b4977e7d2 /xorg-server/hw/kdrive
parentb50a4f12cd633b412387c4cddc0adbb45256acfe (diff)
parent41c64098a90b4e974d5005a1619472f2e8a64ea1 (diff)
downloadvcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.tar.gz
vcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.tar.bz2
vcxsrv-840f23bc506c991216214aa4cfc87978ef739a77.zip
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/hw/kdrive')
-rw-r--r--xorg-server/hw/kdrive/linux/tslib.c15
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;