diff -ruN wxWidgets-2.9.3-orig/include/wx/defs.h wxWidgets-2.9.3/include/wx/defs.h --- wxWidgets-2.9.3-orig/include/wx/defs.h 2011-12-14 12:42:11.000000000 -0600 +++ wxWidgets-2.9.3/include/wx/defs.h 2018-04-18 02:12:55.000000000 -0500 @@ -3033,14 +3033,22 @@ DECLARE_WXCOCOA_OBJC_CLASS(UIEvent); DECLARE_WXCOCOA_OBJC_CLASS(NSSet); DECLARE_WXCOCOA_OBJC_CLASS(EAGLContext); +DECLARE_WXCOCOA_OBJC_CLASS(UIWebView); typedef WX_UIWindow WXWindow; typedef WX_UIView WXWidget; typedef WX_EAGLContext WXGLContext; typedef WX_NSString* WXGLPixelFormat; +typedef WX_UIWebView OSXWebViewPtr; #endif +#if wxOSX_USE_COCOA_OR_CARBON +DECLARE_WXCOCOA_OBJC_CLASS(WebView); +typedef WX_WebView OSXWebViewPtr; +#endif + + #endif /* __WXMAC__ */ #if defined(__WXPALMOS__) diff -ruN wxWidgets-2.9.3-orig/include/wx/html/webkit.h wxWidgets-2.9.3/include/wx/html/webkit.h --- wxWidgets-2.9.3-orig/include/wx/html/webkit.h 2011-12-14 12:42:11.000000000 -0600 +++ wxWidgets-2.9.3/include/wx/html/webkit.h 2018-04-18 02:12:55.000000000 -0500 @@ -19,7 +19,6 @@ #endif #include "wx/control.h" -DECLARE_WXCOCOA_OBJC_CLASS(WebView); // ---------------------------------------------------------------------------- // Web Kit Control @@ -108,7 +107,7 @@ wxString m_currentURL; wxString m_pageTitle; - WX_WebView m_webView; + OSXWebViewPtr m_webView; // we may use this later to setup our own mouse events, // so leave it in for now. diff -ruN wxWidgets-2.9.3-orig/include/wx/osx/webview_webkit.h wxWidgets-2.9.3/include/wx/osx/webview_webkit.h --- wxWidgets-2.9.3-orig/include/wx/osx/webview_webkit.h 2011-12-14 12:42:11.000000000 -0600 +++ wxWidgets-2.9.3/include/wx/osx/webview_webkit.h 2018-04-18 02:14:09.000000000 -0500 @@ -21,6 +21,13 @@ #include "wx/control.h" #include "wx/webview.h" +#ifndef __OBJC__ +#ifndef DEFINED_ID +#define DEFINED_ID 1 +typedef struct objc_object* id; +#endif +#endif + // ---------------------------------------------------------------------------- // Web Kit Control // ---------------------------------------------------------------------------- @@ -149,7 +156,7 @@ wxWindowID m_windowID; wxString m_pageTitle; - struct objc_object *m_webView; + OSXWebViewPtr m_webView; // we may use this later to setup our own mouse events, // so leave it in for now. diff -ruN wxWidgets-2.9.3-orig/include/wx/osx/webviewhistoryitem_webkit.h wxWidgets-2.9.3/include/wx/osx/webviewhistoryitem_webkit.h --- wxWidgets-2.9.3-orig/include/wx/osx/webviewhistoryitem_webkit.h 2011-12-14 12:42:11.000000000 -0600 +++ wxWidgets-2.9.3/include/wx/osx/webviewhistoryitem_webkit.h 2018-04-18 02:09:07.000000000 -0500 @@ -12,6 +12,13 @@ #include "wx/setup.h" +#ifndef __OBJC__ +#ifndef DEFINED_ID +#define DEFINED_ID 1 +typedef struct objc_object* id; +#endif +#endif + #if wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT && (defined(__WXOSX_COCOA__) \ || defined(__WXOSX_CARBON__)) @@ -27,7 +34,7 @@ private: wxString m_url, m_title; - struct objc_object *m_histItem; + id m_histItem; }; #endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT diff -ruN wxWidgets-2.9.3-orig/src/osx/webview_webkit.mm wxWidgets-2.9.3/src/osx/webview_webkit.mm --- wxWidgets-2.9.3-orig/src/osx/webview_webkit.mm 2011-12-14 12:42:11.000000000 -0600 +++ wxWidgets-2.9.3/src/osx/webview_webkit.mm 2018-04-18 02:12:55.000000000 -0500 @@ -302,7 +302,7 @@ wxWebViewWebKit* webKitWindow; } -- initWithWxWindow: (wxWebViewWebKit*)inWindow; +- (id)initWithWxWindow: (wxWebViewWebKit*)inWindow; @end @@ -311,7 +311,7 @@ wxWebViewWebKit* webKitWindow; } -- initWithWxWindow: (wxWebViewWebKit*)inWindow; +- (id)initWithWxWindow: (wxWebViewWebKit*)inWindow; @end @@ -432,7 +432,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView goBack]; + [m_webView goBack]; } void wxWebViewWebKit::GoForward() @@ -440,7 +440,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView goForward]; + [m_webView goForward]; } void wxWebViewWebKit::Reload(wxWebViewReloadFlags flags) @@ -838,7 +838,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView cut:m_webView]; + [m_webView cut:m_webView]; } void wxWebViewWebKit::Copy() @@ -846,7 +846,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView copy:m_webView]; + [m_webView copy:m_webView]; } void wxWebViewWebKit::Paste() @@ -854,7 +854,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView paste:m_webView]; + [m_webView paste:m_webView]; } void wxWebViewWebKit::DeleteSelection() @@ -862,7 +862,7 @@ if ( !m_webView ) return; - [(WebView*)m_webView deleteSelection]; + [m_webView deleteSelection]; } bool wxWebViewWebKit::HasSelection() const @@ -998,7 +998,7 @@ @implementation WebViewLoadDelegate -- initWithWxWindow: (wxWebViewWebKit*)inWindow +- (id)initWithWxWindow: (wxWebViewWebKit*)inWindow { [super init]; webKitWindow = inWindow; // non retained @@ -1192,7 +1192,7 @@ @implementation WebViewPolicyDelegate -- initWithWxWindow: (wxWebViewWebKit*)inWindow +- (id)initWithWxWindow: (wxWebViewWebKit*)inWindow { [super init]; webKitWindow = inWindow; // non retained