You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by bo...@apache.org on 2017/09/12 14:18:38 UTC
[1/6] incubator-weex git commit: * [ios] fix text crash
Repository: incubator-weex
Updated Branches:
refs/heads/0.16-dev c95944b26 -> ef63a4def
* [ios] fix text crash
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5e3b1299
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5e3b1299
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5e3b1299
Branch: refs/heads/0.16-dev
Commit: 5e3b1299edfbd0b6046a385fe30cd1b452cf53d2
Parents: c95944b
Author: acton393 <zh...@gmail.com>
Authored: Fri Sep 8 12:11:12 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Fri Sep 8 12:11:12 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5e3b1299/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
index 664b0e8..7556074 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTextComponent.m
@@ -362,12 +362,14 @@ do {\
- (NSAttributedString *)ctAttributedString
{
+ NSAttributedString * attributedString = nil;
pthread_mutex_lock(&(_ctAttributedStringMutex));
if (!_ctAttributedString) {
- _ctAttributedString = [[self buildCTAttributeString] copy];
+ _ctAttributedString = [self buildCTAttributeString];
}
+ attributedString = [_ctAttributedString copy];
pthread_mutex_unlock(&(_ctAttributedStringMutex));
- return [_ctAttributedString copy];
+ return attributedString;
}
- (void)repaintText:(NSNotification *)notification
[4/6] incubator-weex git commit: * [ios] fix event remove crash
Posted by bo...@apache.org.
* [ios] fix event remove crash
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2b97ce89
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2b97ce89
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2b97ce89
Branch: refs/heads/0.16-dev
Commit: 2b97ce89311a322c4d2f7452a8b30fe3530fc47f
Parents: 027cd7b
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 12 21:43:54 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 12 21:43:54 2017 +0800
----------------------------------------------------------------------
.../WeexSDK/Sources/Events/WXComponent+Events.m | 35 ++++++++++++++------
1 file changed, 24 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2b97ce89/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m b/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
index d3dceb0..8eb799b 100644
--- a/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
+++ b/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
@@ -271,9 +271,12 @@ if ([removeEventName isEqualToString:@#eventName]) {\
{
if (_tapGesture) {
_tapGesture.delegate = nil;
- if ([self.view.gestureRecognizers containsObject:_tapGesture]) {
- [self.view removeGestureRecognizer:_tapGesture];
+ if ([self isViewLoaded]) {
+ if ([self.view.gestureRecognizers containsObject:_tapGesture]) {
+ [self.view removeGestureRecognizer:_tapGesture];
+ }
}
+ [_tapGesture removeTarget:self action:@selector(onClick:)];
_tapGesture = nil;
}
}
@@ -345,9 +348,12 @@ if ([removeEventName isEqualToString:@#eventName]) {\
for (UISwipeGestureRecognizer *recognizer in _swipeGestures) {
recognizer.delegate = nil;
- if ([[self.view gestureRecognizers] containsObject:recognizer]) {
- [self.view removeGestureRecognizer:recognizer];
+ if([self isViewLoaded]) {
+ if ([[self.view gestureRecognizers] containsObject:recognizer]) {
+ [self.view removeGestureRecognizer:recognizer];
+ }
}
+ [recognizer removeTarget:self action:@selector(onSwipe:)];
}
_swipeGestures = nil;
}
@@ -400,10 +406,12 @@ if ([removeEventName isEqualToString:@#eventName]) {\
{
if (_longPressGesture) {
_longPressGesture.delegate = nil;
-
- if([[self.view gestureRecognizers] containsObject:_longPressGesture]) {
- [self.view removeGestureRecognizer:_longPressGesture];
+ if ([self isViewLoaded]) {
+ if([[self.view gestureRecognizers] containsObject:_longPressGesture]) {
+ [self.view removeGestureRecognizer:_longPressGesture];
+ }
}
+ [_longPressGesture removeTarget:self action:@selector(onLongPress:)];
_longPressGesture = nil;
}
}
@@ -550,11 +558,14 @@ if ([removeEventName isEqualToString:@#eventName]) {\
&& !_listenHorizontalPan && !_listenVerticalPan
) {
- if ([[self.view gestureRecognizers] containsObject:_panGesture]) {
- [self.view removeGestureRecognizer:_panGesture];
+ if ([self isViewLoaded]) {
+ if ([[self.view gestureRecognizers] containsObject:_panGesture]) {
+ [self.view removeGestureRecognizer:_panGesture];
+ }
}
_panGesture.delegate = nil;
+ [_panGesture removeTarget:self action:@selector(onPan:)];
_panGesture = nil;
}
}
@@ -620,8 +631,10 @@ if ([removeEventName isEqualToString:@#eventName]) {\
{
if (_touchGesture && !_touchGesture.listenTouchStart && !_touchGesture.listenTouchMove && !_touchGesture.listenTouchEnd && !_touchGesture.listenTouchCancel && !_touchGesture.listenPseudoTouch) {
_touchGesture.delegate = nil;
- if ([[self.view gestureRecognizers] containsObject:_touchGesture]) {
- [self.view removeGestureRecognizer:_touchGesture];
+ if ([self isViewLoaded]) {
+ if ([[self.view gestureRecognizers] containsObject:_touchGesture]) {
+ [self.view removeGestureRecognizer:_touchGesture];
+ }
}
_touchGesture = nil;
}
[2/6] incubator-weex git commit: * [ios] fix blankString when class
is not NSString
Posted by bo...@apache.org.
* [ios] fix blankString when class is not NSString
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b645d802
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b645d802
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b645d802
Branch: refs/heads/0.16-dev
Commit: b645d8027068202a9f7c35dfc4b00b4f6c12f938
Parents: 5e3b129
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 12 21:11:15 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 12 21:11:15 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b645d802/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
index 5487525..81b2ecd 100644
--- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
+++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m
@@ -326,6 +326,10 @@ CGFloat WXFloorPixelValue(CGFloat value)
}
+ (BOOL)isBlankString:(NSString *)string {
+ if (![string isKindOfClass:[NSString class]]) {
+ WXLogError(@"%@ is not a string", string);
+ return true;
+ }
if (string == nil || string == NULL || [string isKindOfClass:[NSNull class]]) {
return true;
}
[6/6] incubator-weex git commit: * [ios] cancel image update
Posted by bo...@apache.org.
* [ios] cancel image update
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ef63a4de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ef63a4de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ef63a4de
Branch: refs/heads/0.16-dev
Commit: ef63a4def9b919035ca7025df08f6a12c53fb80f
Parents: 2c4fdb1
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 12 22:16:51 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 12 22:16:51 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ef63a4de/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index fe914fb..bd31e97 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -243,7 +243,6 @@ WX_EXPORT_METHOD(@selector(save:))
{
if (attributes[@"src"]) {
[self setImageSrc:[[WXConvert NSString:attributes[@"src"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
- [self updateImage];
}
if (attributes[@"quality"]) {
_imageQuality = [WXConvert WXImageQuality:attributes[@"quality"]];
[5/6] incubator-weex git commit: * [ios] try to resolve image crash
Posted by bo...@apache.org.
* [ios] try to resolve image crash
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2c4fdb12
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2c4fdb12
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2c4fdb12
Branch: refs/heads/0.16-dev
Commit: 2c4fdb120a9930beaedf4e857c26f3ba09501d06
Parents: 2b97ce8
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 12 22:12:19 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 12 22:12:19 2017 +0800
----------------------------------------------------------------------
.../Sources/Component/WXImageComponent.m | 33 +++++++++++++++++---
1 file changed, 28 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2c4fdb12/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
index b7027b1..fe914fb 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m
@@ -29,6 +29,7 @@
#import "UIBezierPath+Weex.h"
#import "WXSDKEngine.h"
#import "WXUtility.h"
+#import <pthread/pthread.h>
@interface WXImageView : UIImageView
@@ -46,8 +47,12 @@
static dispatch_queue_t WXImageUpdateQueue;
@interface WXImageComponent ()
+{
+ NSString * _imageSrc;
+ pthread_mutex_t _imageSrcMutex;
+ pthread_mutexattr_t _propertMutexAttr;
+}
-@property (nonatomic, strong) NSString *imageSrc;
@property (nonatomic, strong) NSString *placeholdSrc;
@property (nonatomic, assign) CGFloat blurRadius;
@property (nonatomic, assign) UIViewContentMode resizeMode;
@@ -72,8 +77,15 @@ WX_EXPORT_METHOD(@selector(save:))
if (!WXImageUpdateQueue) {
WXImageUpdateQueue = dispatch_queue_create("com.taobao.weex.ImageUpdateQueue", DISPATCH_QUEUE_SERIAL);
}
+
+ pthread_mutexattr_init(&(_propertMutexAttr));
+ pthread_mutexattr_settype(&(_propertMutexAttr), PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&(_imageSrcMutex), &(_propertMutexAttr));
+
if (attributes[@"src"]) {
+ pthread_mutex_lock(&(_imageSrcMutex));
_imageSrc = [[WXConvert NSString:attributes[@"src"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+ pthread_mutex_unlock(&(_imageSrcMutex));
} else {
WXLogWarning(@"image src is nil");
}
@@ -223,12 +235,14 @@ WX_EXPORT_METHOD(@selector(save:))
- (void)dealloc
{
[self cancelImage];
+ pthread_mutex_destroy(&(_imageSrcMutex));
+ pthread_mutexattr_destroy(&_propertMutexAttr);
}
- (void)updateAttributes:(NSDictionary *)attributes
{
if (attributes[@"src"]) {
- _imageSrc = [[WXConvert NSString:attributes[@"src"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+ [self setImageSrc:[[WXConvert NSString:attributes[@"src"]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
[self updateImage];
}
if (attributes[@"quality"]) {
@@ -308,13 +322,24 @@ WX_EXPORT_METHOD(@selector(save:))
}
}
+- (NSString *)imageSrc
+{
+ pthread_mutex_lock(&(_imageSrcMutex));
+ NSString * imageSrcCpy = [_imageSrc copy];
+ pthread_mutex_unlock(&(_imageSrcMutex));
+
+ return imageSrcCpy;
+}
+
- (void)setImageSrc:(NSString*)src
{
+ pthread_mutex_lock(&(_imageSrcMutex));
if (![src isEqualToString:_imageSrc]) {
_imageSrc = src;
_imageDownloadFinish = NO;
[self updateImage];
}
+ pthread_mutex_unlock(&(_imageSrcMutex));
}
- (void)updateImage
@@ -348,7 +373,6 @@ WX_EXPORT_METHOD(@selector(save:))
NSString *placeholderSrc = self.placeholdSrc;
if ([WXUtility isBlankString:placeholderSrc]) {
-// WXLogError(@"image placeholder src is empty");
return;
}
@@ -387,8 +411,7 @@ WX_EXPORT_METHOD(@selector(save:))
- (void)updateContentImageWithFailedBlock:(void(^)(NSString *, NSError *))downloadFailedBlock
{
- NSString *imageSrc = self.imageSrc;
-
+ NSString *imageSrc = [NSString stringWithFormat:@"%@", self.imageSrc?:@""];
if ([WXUtility isBlankString:imageSrc]) {
WXLogError(@"image src is empty");
return;
[3/6] incubator-weex git commit: Revert "* [ios] unload view when
component is valid"
Posted by bo...@apache.org.
Revert "* [ios] unload view when component is valid"
This reverts commit 4c8c819ef9aa870dda98483ca46abe6c70f53458.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/027cd7b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/027cd7b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/027cd7b9
Branch: refs/heads/0.16-dev
Commit: 027cd7b97a64c05be79c0677497628550e9f83fc
Parents: b645d80
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 12 21:16:45 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 12 21:16:45 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/027cd7b9/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
index 147dae9..55784b3 100644
--- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
+++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m
@@ -595,9 +595,7 @@ static css_node_t * rootNodeGetChild(void *context, int i)
WXComponent *component;
while ((component = [enumerator nextObject])) {
dispatch_async(dispatch_get_main_queue(), ^{
- if ([self isValid]) {
- [component _unloadViewWithReusing:NO];
- }
+ [component _unloadViewWithReusing:NO];
});
}