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;