diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp index 6cc5b315c..479c79cd2 100644 --- a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp +++ b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp @@ -90,7 +90,7 @@ void DragClientQt::willPerformDragSourceAction(DragSourceAction, const IntPoint& { } -void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint&, const IntPoint&, Clipboard* clipboard, Frame* frame, bool) +void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard* clipboard, Frame* frame, bool) { #ifndef QT_NO_DRAGANDDROP QMimeData* clipboardData = clipboard->pasteboard().clipboardData(); @@ -98,9 +98,10 @@ void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint&, const IntP QObject* view = m_chromeClient->platformPageClient()->ownerWidget(); if (view) { QDrag* drag = new QDrag(view); - if (dragImage) + if (dragImage) { drag->setPixmap(*dragImage); - else if (clipboardData && clipboardData->hasImage()) + drag->setHotSpot(IntPoint(eventPos - dragImageOrigin)); + } else if (clipboardData && clipboardData->hasImage()) drag->setPixmap(qvariant_cast<QPixmap>(clipboardData->imageData())); DragOperation dragOperationMask = clipboard->sourceOperation(); drag->setMimeData(clipboardData); |