diff --git a/include/wx/webview.h b/include/wx/webview.h index d557d8483c..dfa409c943 100644 --- a/include/wx/webview.h +++ b/include/wx/webview.h @@ -300,6 +300,7 @@ public: m_actionFlags(flags), m_messageHandler(messageHandler) {} + bool IsError() const { return GetInt() == 0; } const wxString& GetURL() const { return m_url; } const wxString& GetTarget() const { return m_target; } diff --git a/interface/wx/webview.h b/interface/wx/webview.h index c34149a554..94a03e5085 100644 --- a/interface/wx/webview.h +++ b/interface/wx/webview.h @@ -1345,6 +1345,14 @@ public: @since 3.1.5 */ const wxString& GetMessageHandler() const; + + /** + Returns true the script execution failed. Only valid for events of type + @c wxEVT_WEBVIEW_SCRIPT_RESULT + + @since 3.1.6 + */ + bool IsError() const; }; diff --git a/samples/webview/webview.cpp b/samples/webview/webview.cpp index 9a080a3c05..95f6f784d0 100644 --- a/samples/webview/webview.cpp +++ b/samples/webview/webview.cpp @@ -932,7 +932,10 @@ void WebFrame::OnScriptMessage(wxWebViewEvent& evt) void WebFrame::OnScriptResult(wxWebViewEvent& evt) { - wxLogMessage("Async script result received; value = %s", evt.GetString()); + if (evt.IsError()) + wxLogError("Async script execution failed: %s", evt.GetString()); + else + wxLogMessage("Async script result received; value = %s", evt.GetString()); } void WebFrame::OnSetPage(wxCommandEvent& WXUNUSED(evt))