Fix crash in wxWebKitCtrl when using JavaScript.

Ignore the unknown types of the script result, in particular don't crash
trying to dereference an uninitialized pointer if the script didn't return
anything.

Closes #12361.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-09-29 13:46:24 +00:00
parent c85a79963d
commit 4267872212

View File

@@ -684,7 +684,6 @@ wxString wxWebKitCtrl::RunScript(const wxString& javascript){
id result = [[m_webView windowScriptObject] evaluateWebScript:(NSString*)wxNSStringWithWxString( javascript )];
NSString* resultAsString;
wxString resultAsWxString = wxEmptyString;
NSString* className = NSStringFromClass([result class]);
if ([className isEqualToString:@"NSCFNumber"])
resultAsString = [NSString stringWithFormat:@"%@", result];
@@ -699,10 +698,9 @@ wxString wxWebKitCtrl::RunScript(const wxString& javascript){
else if ([className isEqualToString:@"WebScriptObject"])
resultAsString = [result stringRepresentation];
else
fprintf(stderr, "wxWebKitCtrl::RunScript - Unexpected return type: %s!\n", [className UTF8String]);
return wxString(); // This can happen, see e.g. #12361.
resultAsWxString = wxStringWithNSString( resultAsString );
return resultAsWxString;
return wxStringWithNSString( resultAsString );
}
void wxWebKitCtrl::OnSize(wxSizeEvent &event){