Fixes #15261
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74251
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// static
wxStringWebViewFactoryMap::iterator wxWebView::FindFactory(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);
}
return m_factoryMap.find(backend);
}
void wxWebView::InitFactoryMap()
{
#ifdef __WXMSW__
void wxWebView::InitFactoryMap()
{
#ifdef __WXMSW__
- RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
+ if(m_factoryMap.find(wxWebViewBackendIE) == m_factoryMap.end())
+ RegisterFactory(wxWebViewBackendIE, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryIE));
#else
(new wxWebViewFactoryIE));
#else
- RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
+ if(m_factoryMap.find(wxWebViewBackendWebKit) == m_factoryMap.end())
+ RegisterFactory(wxWebViewBackendWebKit, wxSharedPtr<wxWebViewFactory>
(new wxWebViewFactoryWebKit));
#endif
}
(new wxWebViewFactoryWebKit));
#endif
}