Fix animation bug in 32bit when fromValue is double.
Summary: Now `RCTAnimationExperimentalManager` is not working on 32bit devices. ``` NSValue *fromValue = [view.layer.presentationLayer valueForKeyPath:keypath]; CGFloat fromFields[count]; [fromValue getValue:fromFields]; ``` If the fromValue is kind of double value which needs two bytes in 32bit device and the count is 1, the fromFileds array will go wrong. Closes https://github.com/facebook/react-native/pull/1725 Github Author: =?UTF-8?q?=E9=9A=90=E9=A3=8E?= <yinfeng.fcx@alibaba-inc.com> Test Plan: Imported from GitHub, without a `Test Plan:` line.
This commit is contained in:
parent
648c2b48c2
commit
b09f3eaf26
|
@ -217,6 +217,11 @@ RCT_EXPORT_METHOD(startAnimation:(NSNumber *)reactTag
|
||||||
}
|
}
|
||||||
|
|
||||||
NSValue *fromValue = [view.layer.presentationLayer valueForKeyPath:keypath];
|
NSValue *fromValue = [view.layer.presentationLayer valueForKeyPath:keypath];
|
||||||
|
#if !CGFLOAT_IS_DOUBLE
|
||||||
|
if ([fromValue isKindOfClass:[NSNumber class]]) {
|
||||||
|
fromValue = [NSNumber numberWithFloat:[(NSNumber *)fromValue doubleValue]];
|
||||||
|
}
|
||||||
|
#endif
|
||||||
CGFloat fromFields[count];
|
CGFloat fromFields[count];
|
||||||
[fromValue getValue:fromFields];
|
[fromValue getValue:fromFields];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue