aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-03-06 21:31:23 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-06 21:31:23 -0800
commitd5aa36505ffbcc80b8cbc593f5d215579a958920 (patch)
tree11d85eba7dcb21c70ef013b971e0294bd65b0692
parent9d0bf57108e007717364862c082851496f35ba2c (diff)
parenta1e0ef4836f59a9fd5a2b44ecb94c27227e159c6 (diff)
downloadlatinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.tar.gz
latinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.tar.xz
latinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.zip
am a1e0ef48: Fix: point to line segment distance can be NaN.
* commit 'a1e0ef4836f59a9fd5a2b44ecb94c27227e159c6': Fix: point to line segment distance can be NaN.
-rw-r--r--native/jni/src/suggest/core/layout/proximity_info_utils.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/native/jni/src/suggest/core/layout/proximity_info_utils.h b/native/jni/src/suggest/core/layout/proximity_info_utils.h
index 6d2c11b09..f55ee23aa 100644
--- a/native/jni/src/suggest/core/layout/proximity_info_utils.h
+++ b/native/jni/src/suggest/core/layout/proximity_info_utils.h
@@ -100,6 +100,10 @@ class ProximityInfoUtils {
const float dotProduct = ray1x * ray2x + ray1y * ray2y;
const float lineLengthSqr = GeometryUtils::SQUARE_FLOAT(ray2x)
+ GeometryUtils::SQUARE_FLOAT(ray2y);
+ if (lineLengthSqr <= 0.0f) {
+ // Return point to the point distance.
+ return getSquaredDistanceFloat(x, y, x1, y1);
+ }
const float projectionLengthSqr = dotProduct / lineLengthSqr;
float projectionX;