You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2013/03/25 23:23:55 UTC
[2/2] mac commit: [CB-2805] ARC weak reference issues in 10.7
[CB-2805] ARC weak reference issues in 10.7
Project: http://git-wip-us.apache.org/repos/asf/cordova-osx/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-osx/commit/28454d03
Tree: http://git-wip-us.apache.org/repos/asf/cordova-osx/tree/28454d03
Diff: http://git-wip-us.apache.org/repos/asf/cordova-osx/diff/28454d03
Branch: refs/heads/master
Commit: 28454d03e8eedb3cac3b3068a1ac011c77fd53eb
Parents: 9f29a16
Author: Shazron Abdullah <sh...@apache.org>
Authored: Mon Mar 25 15:21:34 2013 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Mon Mar 25 15:21:34 2013 -0700
----------------------------------------------------------------------
.../CordovaFramework/Classes/CDVBridge.h | 9 +++++-
.../CordovaFramework/Classes/CDVWebViewDelegate.h | 8 +++++-
.../Classes/Commands/CDVCommandDelegateImpl.h | 5 +++-
.../Classes/Commands/CDVCommandQueue.m | 5 +++-
.../Classes/Commands/CDVConfigParser.m | 21 +++++++++++++++
5 files changed, 44 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/28454d03/CordovaFramework/CordovaFramework/Classes/CDVBridge.h
----------------------------------------------------------------------
diff --git a/CordovaFramework/CordovaFramework/Classes/CDVBridge.h b/CordovaFramework/CordovaFramework/Classes/CDVBridge.h
index aa9e087..5d15064 100644
--- a/CordovaFramework/CordovaFramework/Classes/CDVBridge.h
+++ b/CordovaFramework/CordovaFramework/Classes/CDVBridge.h
@@ -26,7 +26,14 @@
}
@property (nonatomic, weak) WebView* webView;
-@property (nonatomic, weak) CDVViewController* viewController;
+@property (nonatomic,
+#ifdef __MAC_10_8
+ weak
+#else
+ assign
+#endif
+ ) CDVViewController* viewController;
+
- (id) initWithWebView:(WebView*)webView andViewController:(CDVViewController*)viewController;
- (void) exec:(NSString*)callbackId withService:(NSString*)service andAction:(NSString*)action andArguments:(NSArray*)arguments;
http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/28454d03/CordovaFramework/CordovaFramework/Classes/CDVWebViewDelegate.h
----------------------------------------------------------------------
diff --git a/CordovaFramework/CordovaFramework/Classes/CDVWebViewDelegate.h b/CordovaFramework/CordovaFramework/Classes/CDVWebViewDelegate.h
index c2a33f4..37616c3 100644
--- a/CordovaFramework/CordovaFramework/Classes/CDVWebViewDelegate.h
+++ b/CordovaFramework/CordovaFramework/Classes/CDVWebViewDelegate.h
@@ -29,6 +29,12 @@
@property (nonatomic, strong) CDVConsole* console;
@property (nonatomic, strong) CDVBridge* bridge;
-@property (nonatomic, weak) CDVViewController* viewController;
+@property (nonatomic,
+#ifdef __MAC_10_8
+ weak
+#else
+ strong
+#endif
+ ) CDVViewController* viewController;
@end
http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/28454d03/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandDelegateImpl.h
----------------------------------------------------------------------
diff --git a/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandDelegateImpl.h b/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandDelegateImpl.h
index db0bd09..acbb236 100644
--- a/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandDelegateImpl.h
+++ b/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandDelegateImpl.h
@@ -24,7 +24,10 @@
@interface CDVCommandDelegateImpl : NSObject <CDVCommandDelegate>{
// @private
- __weak CDVViewController* _viewController;
+#ifdef __MAC_10_8
+ __weak
+#endif
+ CDVViewController* _viewController;
@protected
__weak CDVCommandQueue* _commandQueue;
}
http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/28454d03/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandQueue.m
----------------------------------------------------------------------
diff --git a/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandQueue.m b/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandQueue.m
index d80115e..2ff947b 100644
--- a/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandQueue.m
+++ b/CordovaFramework/CordovaFramework/Classes/Commands/CDVCommandQueue.m
@@ -24,7 +24,10 @@
@interface CDVCommandQueue () {
NSInteger _lastCommandQueueFlushRequestId;
- __weak NSViewController* _viewController;
+#ifdef __MAC_10_8
+ __weak
+#endif
+ NSViewController* _viewController;
NSMutableArray* _queue;
BOOL _currentlyExecuting;
}
http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/28454d03/CordovaFramework/CordovaFramework/Classes/Commands/CDVConfigParser.m
----------------------------------------------------------------------
diff --git a/CordovaFramework/CordovaFramework/Classes/Commands/CDVConfigParser.m b/CordovaFramework/CordovaFramework/Classes/Commands/CDVConfigParser.m
index 876d17a..0f160ff 100644
--- a/CordovaFramework/CordovaFramework/Classes/Commands/CDVConfigParser.m
+++ b/CordovaFramework/CordovaFramework/Classes/Commands/CDVConfigParser.m
@@ -19,6 +19,27 @@
#import "CDVConfigParser.h"
+// The block below is to support NSArray/NSDictionary subscripting in 10.7
+#ifdef __MAC_10_7
+
+@interface NSArray(Subscripting)
+- (id)objectAtIndexedSubscript:(NSUInteger)index;
+@end
+
+@interface NSMutableArray(Subscripting)
+- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)index;
+@end
+
+@interface NSDictionary(Subscripting)
+- (id)objectForKeyedSubscript:(id)key;
+@end
+
+@interface NSMutableDictionary(Subscripting)
+- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;
+@end
+
+#endif
+
@interface CDVConfigParser ()
@property (nonatomic, readwrite, strong) NSMutableDictionary* pluginsDict;