diff options
author | Ping Cheng <pinglinux@gmail.com> | 2011-10-19 17:01:08 -0700 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-10-21 16:15:50 +1000 |
commit | fff28802c2a803525d30cb8cb27c385f3e589f8a (patch) | |
tree | b08bc27b5b2a61b9ccee2cb9c24c8c955e8940c7 | |
parent | 8a803975522bbb94e7df41c806dd2a573f058585 (diff) |
Process pressure only when it is supported
normalizePressure crashes if wcmMaxZ is 0.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Acked-by: Chris Bagwell <chris@cnpbagwell.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/wcmCommon.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wcmCommon.c b/src/wcmCommon.c index c3c8907..08b3283 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c @@ -1168,17 +1168,17 @@ static void commonDispatchDevice(WacomCommonPtr common, unsigned int channel, return; } - if (IsPen(priv) || IsTouch(priv)) + if (IsPen(priv)) + common->wcmPenInProx = filtered.proximity; + + if ((IsPen(priv) || IsTouch(priv)) && common->wcmMaxZ) { priv->minPressure = rebasePressure(priv, &filtered); filtered.pressure = normalizePressure(priv, &filtered); if (IsPen(priv)) filtered.buttons = setPressureButton(priv, &filtered); filtered.pressure = applyPressureCurve(priv,&filtered); - if (IsPen(priv)) - common->wcmPenInProx = filtered.proximity; } - else if (IsCursor(priv) && !priv->oldCursorHwProx) { /* initial current max distance for Intuos series */ |