Index: page/EventHandler.cpp =================================================================== --- page/EventHandler.cpp (revision 48796) +++ page/EventHandler.cpp (working copy) @@ -1184,7 +1184,19 @@ return true; } - if (mouseEvent.button() == MiddleButton && !mev.isOverLink()) { + bool panScrollValid = mouseEvent.button() == MiddleButton && !mev.isOverLink(); + +#if PLATFORM(LINUX) + //Make sure the mouse is not over a node that can accept middle-click paste + panScrollValid = panScrollValid && !mev.targetNode()->isContentEditable(); + //Unfocus the focused node if it can accept middle-click paste. + //This prevents pasting into the node after panscrolling is finished. + if (panScrollValid && m_frame->selection()->isContentEditable()) { + m_frame->page()->focusController()->setFocusedNode(0, m_frame); + } +#endif + + if (panScrollValid) { RenderObject* renderer = mev.targetNode()->renderer(); while (renderer && (!renderer->isBox() || !toRenderBox(renderer)->canBeScrolledAndHasScrollableArea())) {