Skip to content

Commit 566cde7

Browse files
Fix crash when changing animated values
1 parent 31acb0b commit 566cde7

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m

+3-1
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,10 @@ - (void)performUpdate
7777
{
7878
[super performUpdate];
7979

80+
// Since we are connecting nodes before attaching them to views there is a time where it's
81+
// possible that the connected view has not been set yet, this is normal and we can simply
82+
// skip that update.
8083
if (!_connectedViewTag) {
81-
RCTLogError(@"Node has not been attached to a view");
8284
return;
8385
}
8486

Libraries/NativeAnimation/RCTNativeAnimatedModule.m

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,23 +60,23 @@ - (void)setBridge:(RCTBridge *)bridge
6060
RCT_EXPORT_METHOD(createAnimatedNode:(nonnull NSNumber *)tag
6161
config:(NSDictionary<NSString *, id> *)config)
6262
{
63-
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
63+
[self addPreOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
6464
[nodesManager createAnimatedNode:tag config:config];
6565
}];
6666
}
6767

6868
RCT_EXPORT_METHOD(connectAnimatedNodes:(nonnull NSNumber *)parentTag
6969
childTag:(nonnull NSNumber *)childTag)
7070
{
71-
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
71+
[self addPreOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
7272
[nodesManager connectAnimatedNodes:parentTag childTag:childTag];
7373
}];
7474
}
7575

7676
RCT_EXPORT_METHOD(disconnectAnimatedNodes:(nonnull NSNumber *)parentTag
7777
childTag:(nonnull NSNumber *)childTag)
7878
{
79-
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
79+
[self addPreOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
8080
[nodesManager disconnectAnimatedNodes:parentTag childTag:childTag];
8181
}];
8282
}
@@ -150,7 +150,7 @@ - (void)setBridge:(RCTBridge *)bridge
150150

151151
RCT_EXPORT_METHOD(dropAnimatedNode:(nonnull NSNumber *)tag)
152152
{
153-
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
153+
[self addPreOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
154154
[nodesManager dropAnimatedNode:tag];
155155
}];
156156
}

0 commit comments

Comments
 (0)