7ab17e5ef3
Summary: public This diff fixes an occasional JS exception thrown by Touchable.js when it attempts to transitions to the RESPONDER_ACTIVE_LONG_PRESS_IN state from the RESPONDER_INACTIVE_PRESS_IN state. Although I wasn't able to reproduce the error while testing, I was able to identify the likely cause: the LONG_PRESS_DETECTED state transition is triggered by a timer that is started on touch-down. This timer should be cancelled if the gesture is interrupted, however I identified a code path where the state can be changed to RESPONDER_INACTIVE_PRESS_IN without the longPressDelayTimeout being cancelled. To fix this, I've added some logic to cancel the timer in that case. I've also added a test for the error scenario that will display a redbox in __DEV__ mode, but will fail gracefully in production mode. Reviewed By: jingc Differential Revision: D2709750 fb-gh-sync-id: aeea1a31de5e92eb394c2ea177f556b131d50790 |
||
---|---|---|
.. | ||
BoundingDimensions.js | ||
Position.js | ||
Touchable.js | ||
TouchableBounce.js | ||
TouchableHighlight.js | ||
TouchableNativeFeedback.android.js | ||
TouchableNativeFeedback.ios.js | ||
TouchableOpacity.js | ||
TouchableWithoutFeedback.js | ||
ensureComponentIsNative.js | ||
ensurePositiveDelayProps.js |