cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shaz...@apache.org
Subject ios commit: CB-6150 - objc_msgSend causes EXC_BAD_ACCESS with plugins on arm64
Date Mon, 03 Mar 2014 23:18:44 GMT
Repository: cordova-ios
Updated Branches:
  refs/heads/master 7da5f2df3 -> 82ce4f249


CB-6150 - objc_msgSend causes EXC_BAD_ACCESS with plugins on arm64


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/82ce4f24
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/82ce4f24
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/82ce4f24

Branch: refs/heads/master
Commit: 82ce4f249faf11f759cfd900974e7662c4c08688
Parents: 7da5f2d
Author: Shazron Abdullah <shazron@apache.org>
Authored: Mon Mar 3 15:18:33 2014 -0800
Committer: Shazron Abdullah <shazron@apache.org>
Committed: Mon Mar 3 15:18:33 2014 -0800

----------------------------------------------------------------------
 CordovaLib/Classes/CDVCommandQueue.m   | 2 +-
 CordovaLib/Classes/CDVViewController.m | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/82ce4f24/CordovaLib/Classes/CDVCommandQueue.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVCommandQueue.m b/CordovaLib/Classes/CDVCommandQueue.m
index 902dfa0..1eddfe3 100644
--- a/CordovaLib/Classes/CDVCommandQueue.m
+++ b/CordovaLib/Classes/CDVCommandQueue.m
@@ -194,7 +194,7 @@ static const double MAX_EXECUTION_TIME = .008; // Half of a 60fps frame.
     SEL normalSelector = NSSelectorFromString(methodName);
     if ([obj respondsToSelector:normalSelector]) {
         // [obj performSelector:normalSelector withObject:command];
-        objc_msgSend(obj, normalSelector, command);
+        ((void (*)(id, SEL, id))objc_msgSend)(obj, normalSelector, command);
     } else {
         // There's no method to call, so throw an error.
         NSLog(@"ERROR: Method '%@' not defined in Plugin '%@'", methodName, command.className);

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/82ce4f24/CordovaLib/Classes/CDVViewController.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVViewController.m b/CordovaLib/Classes/CDVViewController.m
index 10cfc44..7bda2cc 100644
--- a/CordovaLib/Classes/CDVViewController.m
+++ b/CordovaLib/Classes/CDVViewController.m
@@ -697,7 +697,7 @@
         CDVPlugin* plugin = [pluginObjects objectForKey:pluginName];
         SEL selector = NSSelectorFromString(@"shouldOverrideLoadWithRequest:navigationType:");
         if ([plugin respondsToSelector:selector]) {
-            if ((BOOL)objc_msgSend(plugin, selector, request, navigationType) == YES) {
+            if (((BOOL (*)(id, SEL, id, int))objc_msgSend)(plugin, selector, request, navigationType)
== YES) {
                 return NO;
             }
         }


Mime
View raw message