Ensure that the default wxWebView backends are registered.

Fixes #15261

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Steve Lamerton 2013-06-18 19:54:25 +00:00
parent d5bfe58482
commit 8fdbcf4de8

View File

@ -89,9 +89,8 @@ void wxWebView::RegisterFactory(const wxString& backend,
// static
wxStringWebViewFactoryMap::iterator wxWebView::FindFactory(const wxString &backend)
{
// Initialise the map if needed
if(m_factoryMap.empty())
InitFactoryMap();
// Initialise the map, it checks internally for existing factories
InitFactoryMap();
return m_factoryMap.find(backend);
}
@ -100,10 +99,12 @@ wxStringWebViewFactoryMap::iterator wxWebView::FindFactory(const wxString &backe
void wxWebView::InitFactoryMap()
{
#ifdef __WXMSW__
RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
if(m_factoryMap.find(wxWebViewBackendIE) == m_factoryMap.end())
RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryIE));
#else
RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
if(m_factoryMap.find(wxWebViewBackendWebKit) == m_factoryMap.end())
RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryWebKit));
#endif
}