debian/changelog | 7 +++++++ debian/patches/127_multitouch.patch | 21 ++++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-)
New commits: commit cf08f0bf8f82a31379a344e6ccc8053a36fd3954 Author: Chase Douglas <[email protected]> Date: Thu Jan 19 17:44:52 2012 -0800 releasing version 1.5.0+git20120101-1ubuntu2 diff --git a/debian/changelog b/debian/changelog index 71319b9..cdc6fb5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low * Add some error handling so eventcomm-test doesn't segfault - Modified 127_multitouch.patch - -- Chase Douglas <[email protected]> Thu, 19 Jan 2012 17:43:55 -0800 + -- Chase Douglas <[email protected]> Thu, 19 Jan 2012 17:44:47 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu1) precise; urgency=low commit 9fb7fa656451e24d28ca186a52549b487d8fc5b1 Author: Chase Douglas <[email protected]> Date: Thu Jan 19 17:44:43 2012 -0800 Add some error handling so eventcomm-test doesn't segfault * Add some error handling so eventcomm-test doesn't segfault - Modified 127_multitouch.patch diff --git a/debian/changelog b/debian/changelog index bfebd76..71319b9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) UNRELEASED; urgency=low + + * Add some error handling so eventcomm-test doesn't segfault + - Modified 127_multitouch.patch + + -- Chase Douglas <[email protected]> Thu, 19 Jan 2012 17:43:55 -0800 + xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu1) precise; urgency=low * Add multitouch support diff --git a/debian/patches/127_multitouch.patch b/debian/patches/127_multitouch.patch index ca19332..87d25f3 100644 --- a/debian/patches/127_multitouch.patch +++ b/debian/patches/127_multitouch.patch @@ -43,7 +43,7 @@ index 5e04670..a6715e6 100644 if BUILD_PSMCOMM diff --git a/src/eventcomm.c b/src/eventcomm.c -index 00dc532..05ff02b 100644 +index 00dc532..2da732f 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -41,6 +41,9 @@ @@ -232,7 +232,7 @@ index 00dc532..05ff02b 100644 - len = read(pInfo->fd, ev, sizeof(*ev)); +#ifdef HAVE_MTDEV -+ if (proto_data->mtdev) ++ if (proto_data && proto_data->mtdev) + len = mtdev_get(proto_data->mtdev, pInfo->fd, ev, 1) * + sizeof(struct input_event); + else @@ -241,7 +241,7 @@ index 00dc532..05ff02b 100644 if (len <= 0) { /* We use X_NONE here because it doesn't alloc */ -@@ -370,6 +511,87 @@ SynapticsReadEvent(InputInfoPtr pInfo, struct input_event *ev) +@@ -370,6 +511,90 @@ SynapticsReadEvent(InputInfoPtr pInfo, struct input_event *ev) return rc; } @@ -253,7 +253,7 @@ index 00dc532..05ff02b 100644 + struct eventcomm_proto_data *proto_data = priv->proto_data; + int type; + -+ if (proto_data->cur_slot < 0 || !priv->has_touch) ++ if (!proto_data || proto_data->cur_slot < 0 || !priv->has_touch) + return; + + /* If the ABS_MT_SLOT is the first event we get after EV_SYN, skip this */ @@ -289,6 +289,9 @@ index 00dc532..05ff02b 100644 + SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; + struct eventcomm_proto_data *proto_data = priv->proto_data; + ++ if (!proto_data) ++ return; ++ + if (ev->code == ABS_MT_SLOT) + { + EventProcessTouch(pInfo); @@ -329,7 +332,7 @@ index 00dc532..05ff02b 100644 /** * Count the number of fingers based on the CommData information. * The CommData struct contains the event information based on previous -@@ -408,6 +630,7 @@ EventReadHwState(InputInfoPtr pInfo, +@@ -408,6 +633,7 @@ EventReadHwState(InputInfoPtr pInfo, case EV_SYN: switch (ev.code) { case SYN_REPORT: @@ -337,7 +340,7 @@ index 00dc532..05ff02b 100644 hw->numFingers = count_fingers(comm); hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000; *hwRet = *hw; -@@ -472,20 +695,23 @@ EventReadHwState(InputInfoPtr pInfo, +@@ -472,20 +698,23 @@ EventReadHwState(InputInfoPtr pInfo, } break; case EV_ABS: @@ -375,7 +378,7 @@ index 00dc532..05ff02b 100644 break; } } -@@ -497,6 +723,120 @@ static int EventDevOnly(const struct dirent *dir) { +@@ -497,6 +726,120 @@ static int EventDevOnly(const struct dirent *dir) { return strncmp(EVENT_DEV_NAME, dir->d_name, 5) == 0; } @@ -496,7 +499,7 @@ index 00dc532..05ff02b 100644 /** * Probe the open device for dimensions. */ -@@ -505,9 +845,26 @@ EventReadDevDimensions(InputInfoPtr pInfo) +@@ -505,9 +848,26 @@ EventReadDevDimensions(InputInfoPtr pInfo) { SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; struct eventcomm_proto_data *proto_data = priv->proto_data; @@ -524,7 +527,7 @@ index 00dc532..05ff02b 100644 event_query_model(pInfo->fd, &priv->model, &priv->id_vendor, &priv->id_product); xf86IDrvMsg(pInfo, X_PROBED, "Vendor %#hx Product %#hx\n", -@@ -584,7 +941,7 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) +@@ -584,7 +944,7 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char *device) struct SynapticsProtocolOperations event_proto_operations = { EventDeviceOnHook, -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

