]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/webview.cpp
Misc validity fixes to samples/xrc/rc/*.xrc.
[wxWidgets.git] / src / common / webview.cpp
index 96435027c9b9e63c0d4b7b231e7c4637fe0f7415..afaf3ffd099b01a23db43e26efed2a6f23306f80 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        webview.cpp
 // Purpose:     Common interface and events for web view component
 // Author:      Marianne Gagnon
-// Id:          $Id$
 // Copyright:   (c) 2010 Marianne Gagnon, 2011 Steven Lamerton
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -89,9 +88,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 +98,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
 }