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