From: Vadim Zeitlin Date: Sun, 20 May 2012 20:29:50 +0000 (+0000) Subject: Use wxObjCID instead of "struct objc_object*" to fix clang build. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/d92f48bd4378a09c631fc26e2a19ba53373ba8bc?ds=inline Use wxObjCID instead of "struct objc_object*" to fix clang build. Clang doesn't accept "struct objc_object*" as synonym for "id" in Objective-C code, so use the real "id" for it while still using the struct pointer for C++ code where "id" is not defined. Closes #13565. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/osx/private/objcid.h b/include/wx/osx/private/objcid.h new file mode 100644 index 0000000000..59d044d9c8 --- /dev/null +++ b/include/wx/osx/private/objcid.h @@ -0,0 +1,24 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: osx/private/objcid.h +// Purpose: Define wxObjCID working in both C++ and Objective-C. +// Author: Vadim Zeitlin +// Created: 2012-05-20 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2012 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_OSX_PRIVATE_OBJCID_H_ +#define _WX_OSX_PRIVATE_OBJCID_H_ + +// ---------------------------------------------------------------------------- +// wxObjCID: Equivalent of Objective-C "id" that works in C++ code. +// ---------------------------------------------------------------------------- + +#ifdef __OBJC__ + #define wxObjCID id +#else + typedef struct objc_object* wxObjCID; +#endif + +#endif // _WX_OSX_PRIVATE_OBJCID_H_ diff --git a/include/wx/osx/webview_webkit.h b/include/wx/osx/webview_webkit.h index aa937a93db..76b66e19ae 100644 --- a/include/wx/osx/webview_webkit.h +++ b/include/wx/osx/webview_webkit.h @@ -21,6 +21,8 @@ #include "wx/control.h" #include "wx/webview.h" +#include "wx/osx/private/objcid.h" + // ---------------------------------------------------------------------------- // Web Kit Control // ---------------------------------------------------------------------------- @@ -149,7 +151,7 @@ private: wxWindowID m_windowID; wxString m_pageTitle; - struct objc_object *m_webView; + wxObjCID m_webView; // we may use this later to setup our own mouse events, // so leave it in for now. diff --git a/include/wx/osx/webviewhistoryitem_webkit.h b/include/wx/osx/webviewhistoryitem_webkit.h index a136f235dd..13cddf5f30 100644 --- a/include/wx/osx/webviewhistoryitem_webkit.h +++ b/include/wx/osx/webviewhistoryitem_webkit.h @@ -15,6 +15,8 @@ #if wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT && (defined(__WXOSX_COCOA__) \ || defined(__WXOSX_CARBON__)) +#include "wx/osx/private/objcid.h" + class WXDLLIMPEXP_WEBVIEW wxWebViewHistoryItem { public: @@ -27,7 +29,7 @@ public: private: wxString m_url, m_title; - struct objc_object *m_histItem; + wxObjCID m_histItem; }; #endif // wxUSE_WEBVIEW && wxUSE_WEBVIEW_WEBKIT