diff -r ac77f89b1d9e -r 4917f9bf7995 webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp --- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Wed Apr 14 17:06:56 2010 +0300 +++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Tue Apr 27 17:46:17 2010 +0300 @@ -380,12 +380,12 @@ frame->editor()->execCommand("MoveLeft"); } m_webView->fepTextEditor()->HandleUpdateCursor(); - if (frame->selectionController()->start() != startPos && - frame->selectionController()->end() != endPos) { - event->setDefaultHandled(); + if (frame->selectionController()->start() == startPos && + frame->selectionController()->end() == endPos && !select) { + m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused()); } else { - m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused()); + event->setDefaultHandled(); } break; @@ -403,12 +403,12 @@ frame->editor()->execCommand("MoveRight"); } m_webView->fepTextEditor()->HandleUpdateCursor(); - if (frame->selectionController()->start() != startPos && - frame->selectionController()->end() != endPos) { - event->setDefaultHandled(); + if (frame->selectionController()->start() == startPos && + frame->selectionController()->end() == endPos && !select) { + m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused()); } else { - m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused()); + event->setDefaultHandled(); } break; @@ -422,12 +422,12 @@ frame->editor()->execCommand("MoveUp"); } m_webView->fepTextEditor()->HandleUpdateCursor(); - if (frame->selectionController()->start() != startPos && - frame->selectionController()->end() != endPos) { - event->setDefaultHandled(); + if (frame->selectionController()->start() == startPos && + frame->selectionController()->end() == endPos && !select) { + m_shouldEndEditing = true; } else { - m_shouldEndEditing = true; + event->setDefaultHandled(); } break; @@ -441,12 +441,12 @@ frame->editor()->execCommand("MoveDown"); } m_webView->fepTextEditor()->HandleUpdateCursor(); - if (frame->selectionController()->start() != startPos && - frame->selectionController()->end() != endPos) { - event->setDefaultHandled(); + if (frame->selectionController()->start() == startPos && + frame->selectionController()->end() == endPos && !select) { + m_shouldEndEditing = true; } else { - m_shouldEndEditing = true; + event->setDefaultHandled(); } break;