diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp index 565479983..0e60d4dec 100644 --- a/services/inputflinger/InputReader.cpp +++ b/services/inputflinger/InputReader.cpp @@ -4127,13 +4127,13 @@ void TouchInputMapper::timeoutExpired(nsecs_t when) { } void TouchInputMapper::updateExternalStylusState(const StylusState& state) { + mExternalStylusState.copyFrom(state); if (mExternalStylusId != -1 || mExternalStylusDataTimeout != LLONG_MAX) { // We're either in the middle of a fused stream of data or we're waiting on data before // dispatching the initial down, so go ahead and dispatch now that we have fresh stylus // data. mExternalStylusDataTimeout = LLONG_MAX; mExternalStylusDataPending = true; - mExternalStylusState.copyFrom(state); processRawTouches(false /*timeout*/); } }