summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPing Cheng <pinglinux@gmail.com>2011-10-19 17:01:08 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2011-10-21 16:15:50 +1000
commitfff28802c2a803525d30cb8cb27c385f3e589f8a (patch)
treeb08bc27b5b2a61b9ccee2cb9c24c8c955e8940c7
parent8a803975522bbb94e7df41c806dd2a573f058585 (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.c8
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 */