diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 4b93e8d7b16a96101ac446ea7d01c8c3e8bc2d80..5c1912b3ee95c19f30b9d9d4ac98a6fc4432fcd9 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,14 @@ +2009-05-27 John Sullivan + + fixed repro crash in WebCore::DragController::dragExited dropping + bookmarks (at least) over Top Sites (at least) + + Reviewed by Kevin Decker + + * page/DragController.cpp: + (WebCore::DragController::dragExited): + nil check m_documentUnderMouse and take the "local file" case if it's nil + 2009-05-27 Fridrich Strba Reviewed by Gustavo Noronha. diff --git a/WebCore/page/DragController.cpp b/WebCore/page/DragController.cpp index 723439733510583d683cd2622d09efe26343df29..e1b5ea7625a9bd041e852401a8e7d1a9fee2bcaa 100644 --- a/WebCore/page/DragController.cpp +++ b/WebCore/page/DragController.cpp @@ -155,7 +155,7 @@ void DragController::dragExited(DragData* dragData) Frame* mainFrame = m_page->mainFrame(); if (RefPtr v = mainFrame->view()) { - ClipboardAccessPolicy policy = m_documentUnderMouse->securityOrigin()->isLocal() ? ClipboardReadable : ClipboardTypesReadable; + ClipboardAccessPolicy policy = (!m_documentUnderMouse || m_documentUnderMouse->securityOrigin()->isLocal()) ? ClipboardReadable : ClipboardTypesReadable; RefPtr clipboard = dragData->createClipboard(policy); clipboard->setSourceOperation(dragData->draggingSourceOperationMask()); mainFrame->eventHandler()->cancelDragAndDrop(createMouseEvent(dragData), clipboard.get());