Check orientation range has been initialized first
To avoid nan or infinity when orientation value is used for calculation without being initialized, check mOrientedRanges.haveOrientation value before using mOrientedRanges.orientation.min or .max value. Change-Id: I68ed9ab36819c5faa6422e9f061e1275aeed11e3 Signed-off-by: Baik Han <baik.han@lge.com>
This commit is contained in:
parent
dfc30ae393
commit
18a81488f9
@ -4315,7 +4315,7 @@ void TouchInputMapper::cookPointerData() {
|
|||||||
bottom = float(mRawPointerAxes.x.maxValue - rawLeft) * mXScale + mXTranslate;
|
bottom = float(mRawPointerAxes.x.maxValue - rawLeft) * mXScale + mXTranslate;
|
||||||
top = float(mRawPointerAxes.x.maxValue - rawRight) * mXScale + mXTranslate;
|
top = float(mRawPointerAxes.x.maxValue - rawRight) * mXScale + mXTranslate;
|
||||||
orientation -= M_PI_2;
|
orientation -= M_PI_2;
|
||||||
if (orientation < mOrientedRanges.orientation.min) {
|
if (mOrientedRanges.haveOrientation && orientation < mOrientedRanges.orientation.min) {
|
||||||
orientation += (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
orientation += (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -4327,7 +4327,7 @@ void TouchInputMapper::cookPointerData() {
|
|||||||
bottom = float(mRawPointerAxes.y.maxValue - rawTop) * mYScale + mYTranslate;
|
bottom = float(mRawPointerAxes.y.maxValue - rawTop) * mYScale + mYTranslate;
|
||||||
top = float(mRawPointerAxes.y.maxValue - rawBottom) * mYScale + mYTranslate;
|
top = float(mRawPointerAxes.y.maxValue - rawBottom) * mYScale + mYTranslate;
|
||||||
orientation -= M_PI;
|
orientation -= M_PI;
|
||||||
if (orientation < mOrientedRanges.orientation.min) {
|
if (mOrientedRanges.haveOrientation && orientation < mOrientedRanges.orientation.min) {
|
||||||
orientation += (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
orientation += (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -4339,7 +4339,7 @@ void TouchInputMapper::cookPointerData() {
|
|||||||
bottom = float(rawRight - mRawPointerAxes.x.minValue) * mXScale + mXTranslate;
|
bottom = float(rawRight - mRawPointerAxes.x.minValue) * mXScale + mXTranslate;
|
||||||
top = float(rawLeft - mRawPointerAxes.x.minValue) * mXScale + mXTranslate;
|
top = float(rawLeft - mRawPointerAxes.x.minValue) * mXScale + mXTranslate;
|
||||||
orientation += M_PI_2;
|
orientation += M_PI_2;
|
||||||
if (orientation > mOrientedRanges.orientation.max) {
|
if (mOrientedRanges.haveOrientation && orientation > mOrientedRanges.orientation.max) {
|
||||||
orientation -= (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
orientation -= (mOrientedRanges.orientation.max - mOrientedRanges.orientation.min);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user