From 68c2a2b96f52c49551fc051d647981250f195510 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 5 Sep 2023 23:03:51 +0200 Subject: [PATCH] Also add checks that CefBrowser itself is valid Further extend the changes of the previous two commits and cover all the functions using the possibly not yet initialized browser object. --- src/common/webview_chromium.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/common/webview_chromium.cpp b/src/common/webview_chromium.cpp index 806e2be4ed..51593e8e95 100644 --- a/src/common/webview_chromium.cpp +++ b/src/common/webview_chromium.cpp @@ -748,18 +748,24 @@ void wxWebViewChromium::EnableHistory(bool enable) void wxWebViewChromium::Stop() { - m_clientHandler->GetBrowser()->StopLoad(); + auto browser = m_clientHandler->GetBrowser(); + wxCHECK_RET( browser, "No valid browser object" ); + + browser->StopLoad(); } void wxWebViewChromium::Reload(wxWebViewReloadFlags flags) { + auto browser = m_clientHandler->GetBrowser(); + wxCHECK_RET( browser, "No valid browser object" ); + if ( flags == wxWEBVIEW_RELOAD_NO_CACHE ) { - m_clientHandler->GetBrowser()->ReloadIgnoreCache(); + browser->ReloadIgnoreCache(); } else { - m_clientHandler->GetBrowser()->Reload(); + browser->Reload(); } } @@ -870,10 +876,11 @@ bool wxWebViewChromium::RunScript(const wxString& javascript, wxString* output) bool wxWebViewChromium::IsBusy() const { - if(m_clientHandler->GetBrowser()) - return m_clientHandler->GetBrowser()->IsLoading(); - else + auto browser = m_clientHandler->GetBrowser(); + if ( !browser ) return false; + + return browser->IsLoading(); } void wxWebViewChromium::SetEditable(bool enable)