From 5af4df90b766527e02746c8f32b869f5727c283e Mon Sep 17 00:00:00 2001 From: nowrep Date: Wed, 28 Dec 2011 23:25:40 +0100 Subject: [PATCH] [Fix] crash in Click2Flash plugin when element is not found. - also little improvement in WebView mousepress events --- src/plugins/clicktoflash.cpp | 9 +++++++-- src/webview/webview.cpp | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/plugins/clicktoflash.cpp b/src/plugins/clicktoflash.cpp index 4d7fbef25..623fd753b 100644 --- a/src/plugins/clicktoflash.cpp +++ b/src/plugins/clicktoflash.cpp @@ -171,8 +171,13 @@ void ClickToFlash::findElement() QPoint objectPos = view->mapFromGlobal(m_toolButton->mapToGlobal(m_toolButton->pos())); QWebFrame* objectFrame = view->page()->frameAt(objectPos); - QWebHitTestResult hitResult = objectFrame->hitTestContent(objectPos); - QWebElement hitElement = hitResult.element(); + QWebHitTestResult hitResult; + QWebElement hitElement; + + if (objectFrame) { + hitResult = objectFrame->hitTestContent(objectPos); + hitElement = hitResult.element(); + } if (!hitElement.isNull()) { m_element = hitElement; diff --git a/src/webview/webview.cpp b/src/webview/webview.cpp index 74704e2d2..fde198b09 100644 --- a/src/webview/webview.cpp +++ b/src/webview/webview.cpp @@ -846,10 +846,12 @@ void WebView::mousePressEvent(QMouseEvent* event) if (isUrlValid(QUrl(m_hoveredLink))) { tabWidget()->addView(QUrl::fromEncoded(m_hoveredLink.toUtf8()), tr("New tab"), TabWidget::NewBackgroundTab); event->accept(); + return; } #ifdef Q_WS_WIN else { QWebView::mouseDoubleClickEvent(event); + return; } #endif break; @@ -859,9 +861,10 @@ void WebView::mousePressEvent(QMouseEvent* event) return; } default: - QWebView::mousePressEvent(event); break; } + + QWebView::mousePressEvent(event); } void WebView::keyPressEvent(QKeyEvent* event)