This is an automated email from the ASF dual-hosted git repository. moshen pushed a commit to branch fix-animation-crash2 in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
commit 8ce131838c7f54d029c398537e410bfb3e3e551f Author: qianyuan.wqy <[email protected]> AuthorDate: Mon Sep 2 11:09:15 2019 +0800 Fix potential crash of animation. --- ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm | 7 +++++-- ios/sdk/WeexSDK/Sources/Module/WXTransition.mm | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm index cd1aa31..f4b29a8 100644 --- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm +++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.mm @@ -694,8 +694,9 @@ static NSThread *WXComponentThread; [component _updateStylesOnMainThread:normalStyles resetStyles:resetStyles]; [component readyToRender]; + NSDictionary* dupStyles = [NSDictionary dictionaryWithDictionary:normalStyles]; WXPerformBlockOnComponentThread(^{ - [component _updateStylesOnComponentThread:normalStyles resetStyles:resetStyles isUpdateStyles:isUpdateStyles]; + [component _updateStylesOnComponentThread:dupStyles resetStyles:resetStyles isUpdateStyles:isUpdateStyles]; }); } @@ -711,8 +712,10 @@ static NSThread *WXComponentThread; NSMutableArray *resetStyles = [NSMutableArray new]; [self filterStyles:styles normalStyles:normalStyles resetStyles:resetStyles]; [component _updateStylesOnComponentThread:normalStyles resetStyles:resetStyles isUpdateStyles:isUpdateStyles]; + + NSDictionary* dupStyles = [NSDictionary dictionaryWithDictionary:normalStyles]; [self _addUITask:^{ - [component _updateStylesOnMainThread:normalStyles resetStyles:resetStyles]; + [component _updateStylesOnMainThread:dupStyles resetStyles:resetStyles]; [component readyToRender]; }]; } diff --git a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm index 15a9e11..8bb616d 100644 --- a/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm +++ b/ios/sdk/WeexSDK/Sources/Module/WXTransition.mm @@ -170,8 +170,9 @@ } [targetComponent _updateCSSNodeStyles:styles]; [targetComponent _resetCSSNodeStyles:resetStyles]; + NSDictionary* dupStyles = [NSDictionary dictionaryWithDictionary:styles]; WXPerformBlockOnMainThread(^{ - [targetComponent _updateViewStyles:styles]; + [targetComponent _updateViewStyles:dupStyles]; }); }
