Use wxDL_INIT_FUNC() macro
This commit is contained in:
@@ -38,17 +38,17 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxWebViewEdge, wxWebView);
|
|||||||
|
|
||||||
int wxWebViewEdge::ms_isAvailable = -1;
|
int wxWebViewEdge::ms_isAvailable = -1;
|
||||||
// WebView2Loader typedefs
|
// WebView2Loader typedefs
|
||||||
typedef HRESULT (__stdcall *PFNWXCreateWebView2EnvironmentWithDetails)(
|
typedef HRESULT (__stdcall *CreateWebView2EnvironmentWithDetails_t)(
|
||||||
PCWSTR browserExecutableFolder,
|
PCWSTR browserExecutableFolder,
|
||||||
PCWSTR userDataFolder,
|
PCWSTR userDataFolder,
|
||||||
PCWSTR additionalBrowserArguments,
|
PCWSTR additionalBrowserArguments,
|
||||||
IWebView2CreateWebView2EnvironmentCompletedHandler* environment_created_handler);
|
IWebView2CreateWebView2EnvironmentCompletedHandler* environment_created_handler);
|
||||||
typedef HRESULT(__stdcall *PFNWXGetWebView2BrowserVersionInfo)(
|
typedef HRESULT(__stdcall *GetWebView2BrowserVersionInfo_t)(
|
||||||
PCWSTR browserExecutableFolder,
|
PCWSTR browserExecutableFolder,
|
||||||
LPWSTR* versionInfo);
|
LPWSTR* versionInfo);
|
||||||
|
|
||||||
PFNWXCreateWebView2EnvironmentWithDetails wxCreateWebView2EnvironmentWithDetails = NULL;
|
CreateWebView2EnvironmentWithDetails_t wxCreateWebView2EnvironmentWithDetails = NULL;
|
||||||
PFNWXGetWebView2BrowserVersionInfo wxGetWebView2BrowserVersionInfo = NULL;
|
GetWebView2BrowserVersionInfo_t wxGetWebView2BrowserVersionInfo = NULL;
|
||||||
|
|
||||||
wxDynamicLibrary wxWebViewEdge::ms_loaderDll;
|
wxDynamicLibrary wxWebViewEdge::ms_loaderDll;
|
||||||
|
|
||||||
@@ -67,11 +67,6 @@ bool wxWebViewEdge::IsAvailable()
|
|||||||
|
|
||||||
bool wxWebViewEdge::Initialize()
|
bool wxWebViewEdge::Initialize()
|
||||||
{
|
{
|
||||||
#define RESOLVE_LOADER_FUNCTION(type, funcname) \
|
|
||||||
wx##funcname = (type)ms_loaderDll.GetSymbol(wxT(#funcname)); \
|
|
||||||
if ( !wx##funcname ) \
|
|
||||||
return false
|
|
||||||
|
|
||||||
// WebView2 is only available for Windows 7 or newer
|
// WebView2 is only available for Windows 7 or newer
|
||||||
if (!wxCheckOsVersion(6, 1))
|
if (!wxCheckOsVersion(6, 1))
|
||||||
return false;
|
return false;
|
||||||
@@ -80,8 +75,10 @@ bool wxWebViewEdge::Initialize()
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Try to load functions from loader DLL
|
// Try to load functions from loader DLL
|
||||||
RESOLVE_LOADER_FUNCTION(PFNWXCreateWebView2EnvironmentWithDetails, CreateWebView2EnvironmentWithDetails);
|
wxDL_INIT_FUNC(wx, CreateWebView2EnvironmentWithDetails, ms_loaderDll);
|
||||||
RESOLVE_LOADER_FUNCTION(PFNWXGetWebView2BrowserVersionInfo, GetWebView2BrowserVersionInfo);
|
wxDL_INIT_FUNC(wx, GetWebView2BrowserVersionInfo, ms_loaderDll);
|
||||||
|
if (!wxGetWebView2BrowserVersionInfo || !wxCreateWebView2EnvironmentWithDetails)
|
||||||
|
return false;
|
||||||
|
|
||||||
// Check if a Edge browser can be found by the loader DLL
|
// Check if a Edge browser can be found by the loader DLL
|
||||||
LPWSTR versionStr;
|
LPWSTR versionStr;
|
||||||
|
Reference in New Issue
Block a user