From bfae1b143acb9581ebc9396e0ba7e7e0fe5053d0 Mon Sep 17 00:00:00 2001 From: Kirill Burtsev Date: Fri, 10 Sep 2021 13:00:36 +0200 Subject: Fix disconnect on null old page win Simple Browser example Eliminates constant warnings from QObject on every new tab create Pick-to: 6.2 6.2.0 Change-Id: I93b3a2561a8a99932ea2a8c77cc12ded4a6906e7 Reviewed-by: Michal Klocek --- .../webenginewidgets/simplebrowser/webview.cpp | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'examples/webenginewidgets/simplebrowser') diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp index 5bd0a5ef4..31be9f34c 100644 --- a/examples/webenginewidgets/simplebrowser/webview.cpp +++ b/examples/webenginewidgets/simplebrowser/webview.cpp @@ -133,17 +133,18 @@ inline QString questionForFeature(QWebEnginePage::Feature feature) void WebView::setPage(WebPage *page) { - WebPage *oldPage = qobject_cast(QWebEngineView::page()); - disconnect(oldPage, &WebPage::createCertificateErrorDialog, this, - &WebView::handleCertificateError); - disconnect(oldPage, &QWebEnginePage::authenticationRequired, this, - &WebView::handleAuthenticationRequired); - disconnect(oldPage, &QWebEnginePage::featurePermissionRequested, this, - &WebView::handleFeaturePermissionRequested); - disconnect(oldPage, &QWebEnginePage::proxyAuthenticationRequired, this, - &WebView::handleProxyAuthenticationRequired); - disconnect(oldPage, &QWebEnginePage::registerProtocolHandlerRequested, this, - &WebView::handleRegisterProtocolHandlerRequested); + if (auto oldPage = qobject_cast(QWebEngineView::page())) { + disconnect(oldPage, &WebPage::createCertificateErrorDialog, this, + &WebView::handleCertificateError); + disconnect(oldPage, &QWebEnginePage::authenticationRequired, this, + &WebView::handleAuthenticationRequired); + disconnect(oldPage, &QWebEnginePage::featurePermissionRequested, this, + &WebView::handleFeaturePermissionRequested); + disconnect(oldPage, &QWebEnginePage::proxyAuthenticationRequired, this, + &WebView::handleProxyAuthenticationRequired); + disconnect(oldPage, &QWebEnginePage::registerProtocolHandlerRequested, this, + &WebView::handleRegisterProtocolHandlerRequested); + } createWebActionTrigger(page,QWebEnginePage::Forward); createWebActionTrigger(page,QWebEnginePage::Back); createWebActionTrigger(page,QWebEnginePage::Reload); -- cgit v1.2.3