summaryrefslogtreecommitdiff
path: root/Source/WebKit/qt
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-29 13:37:26 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-29 13:38:59 +0200
commitf7db35e4a20edf9e47296a89b62e8ddbc0e98af0 (patch)
treebab263d8b5cf6679db89233d3b564d2dfedee551 /Source/WebKit/qt
parent24a674183c7b620b8a12734f8a4da3a601939238 (diff)
parent622bd271367a251b87881d53df45467777ee863a (diff)
downloadqtwebkit-f7db35e4a20edf9e47296a89b62e8ddbc0e98af0.tar.gz
Merge remote-tracking branch 'origin/5.3' into dev
Change-Id: I488a1ee13117760781019a2f4bc6f6dff64c6871
Diffstat (limited to 'Source/WebKit/qt')
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp3
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp4
-rw-r--r--Source/WebKit/qt/WidgetSupport/QtWebComboBox.cpp6
3 files changed, 9 insertions, 4 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
index 479c79cd2..11a805f53 100644
--- a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
@@ -95,7 +95,8 @@ void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint& dragImageOr
#ifndef QT_NO_DRAGANDDROP
QMimeData* clipboardData = clipboard->pasteboard().clipboardData();
clipboard->pasteboard().invalidateWritableData();
- QObject* view = m_chromeClient->platformPageClient()->ownerWidget();
+ PlatformPageClient pageClient = m_chromeClient->platformPageClient();
+ QObject* view = pageClient ? pageClient->ownerWidget() : 0;
if (view) {
QDrag* drag = new QDrag(view);
if (dragImage) {
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index 9f0e7a564..13fbe88d3 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -1113,10 +1113,10 @@ void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitT
#if defined(Q_WS_X11)
bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
Pasteboard::generalPasteboard()->setSelectionMode(true);
- editor.copyURL(hitTestResult->linkUrl, WTF::String());
+ editor.copyURL(hitTestResult->linkUrl, hitTestResult->linkText);
Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
#endif
- editor.copyURL(hitTestResult->linkUrl, WTF::String());
+ editor.copyURL(hitTestResult->linkUrl, hitTestResult->linkText);
break;
}
case OpenImageInNewWindow:
diff --git a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.cpp b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.cpp
index 4cfa366dc..b47af40e0 100644
--- a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.cpp
+++ b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.cpp
@@ -55,12 +55,16 @@ bool QtWebComboBox::eventFilter(QObject* watched, QEvent* event)
void QtWebComboBox::hidePopup()
{
+ if (m_hiding)
+ return;
m_hiding = true;
// QComboBox::hidePopup() runs an eventloop, we need to make sure we do not delete ourselves in that loop.
QComboBox::hidePopup();
m_hiding = false;
- if (m_deleteAfterHiding)
+ if (m_deleteAfterHiding) {
deleteLater();
+ m_deleteAfterHiding = false;
+ }
}