]> git.saurik.com Git - wxWidgets.git/commitdiff
remove signal-blocking variable, instead just connect to signal when ready
authorPaul Cornett <paulcor@bullseye.com>
Thu, 1 Mar 2012 16:44:31 +0000 (16:44 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Thu, 1 Mar 2012 16:44:31 +0000 (16:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/webview_webkit.h
src/gtk/webview_webkit.cpp

index d72a398b61834223b676f2b3de68803b1f66b222..3c36cf7ccd6228822711d8ba7b9e937e741786c1 100644 (file)
@@ -115,10 +115,6 @@ public:
     virtual void RegisterHandler(wxSharedPtr<wxWebViewHandler> handler);
     virtual wxVector<wxSharedPtr<wxWebViewHandler> > GetHandlers() { return m_handlerList; }
 
-    /** FIXME: hack to work around signals being received too early */
-    bool m_ready;
-
-
     /** TODO: check if this can be made private
      * The native control has a getter to check for busy state, but except in
      * very recent versions of webkit this getter doesn't say everything we need
index 60d04e3c3e8d69f553aca2996dd52f7f1fe714ff..ca6fc057390a5d4d139a935cbcd4766d49f2d578 100644 (file)
@@ -32,8 +32,6 @@ wxgtk_webview_webkit_load_status(GtkWidget* widget,
                                  GParamSpec*,
                                  wxWebViewWebKit *webKitCtrl)
 {
-    if (!webKitCtrl->m_ready) return;
-
     wxString url = webKitCtrl->GetCurrentURL();
 
     WebKitLoadStatus status;
@@ -395,7 +393,6 @@ bool wxWebViewWebKit::Create(wxWindow *parent,
                       long style,
                       const wxString& name)
 {
-    m_ready = false;
     m_busy = false;
     m_guard = false;
 
@@ -414,9 +411,6 @@ bool wxWebViewWebKit::Create(wxWindow *parent,
     gtk_container_add(GTK_CONTAINER(m_widget), GTK_WIDGET(m_web_view));
     gtk_widget_show(GTK_WIDGET(m_web_view));
 
-    g_signal_connect_after(m_web_view, "notify::load-status",
-                           G_CALLBACK(wxgtk_webview_webkit_load_status),
-                           this);
     g_signal_connect_after(m_web_view, "navigation-policy-decision-requested",
                            G_CALLBACK(wxgtk_webview_webkit_navigation),
                            this);
@@ -445,7 +439,10 @@ bool wxWebViewWebKit::Create(wxWindow *parent,
     history = webkit_web_view_get_back_forward_list(m_web_view);
     m_historyLimit = webkit_web_back_forward_list_get_limit(history);
 
-    m_ready = true;
+    // last to avoid getting signal too early
+    g_signal_connect_after(m_web_view, "notify::load-status",
+                           G_CALLBACK(wxgtk_webview_webkit_load_status),
+                           this);
 
     return true;
 }