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 2014/03/04 00:18:44 UTC
ios commit: CB-6150 - objc_msgSend causes EXC_BAD_ACCESS with plugins
on arm64
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 <sh...@apache.org>
Authored: Mon Mar 3 15:18:33 2014 -0800
Committer: Shazron Abdullah <sh...@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;
}
}