--- a/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.cpp Tue May 25 13:52:38 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.cpp Wed Jun 09 10:52:50 2010 +0300
@@ -139,16 +139,20 @@
elemVisibleRect.Intersection(m_webView->Rect());
if (horizontalDir == -1) {
focusPosition.iX = elemVisibleRect.iTl.iX;
+ focusPosition.iY = elemVisibleRect.iTl.iY;
}
else if (horizontalDir == 1) {
focusPosition.iX = elemVisibleRect.iBr.iX;
+ focusPosition.iY = elemVisibleRect.iTl.iY;
}
if (verticalDir == -1) {
focusPosition.iY = elemVisibleRect.iTl.iY;
+ focusPosition.iX = elemVisibleRect.iTl.iX;
}
else if (verticalDir == 1) {
focusPosition.iY = elemVisibleRect.iBr.iY;
+ focusPosition.iX = elemVisibleRect.iTl.iX;
}
if ((verticalDir == 0) && (horizontalDir == 0)) {
@@ -429,7 +433,7 @@
sameAxisDist = horizontalDir * (point.iX - m_focusPosition.iX) + verticalDir * (point.iY - m_focusPosition.iY);
otherAxisDist = (horizontalDir) ? (point.iY - m_focusPosition.iY) : (point.iX - m_focusPosition.iX) ;
otherAxisDist = (otherAxisDist < 0 ) ? (otherAxisDist * -1) : otherAxisDist;
- if (horizontalDir) { // horizontal
+ if (verticalDir) { // vertical
if (rect.iBr.iY < m_selectedElementRect.iTl.iY || rect.iTl.iY > m_selectedElementRect.iBr.iY) {
overlap = 0;
}
@@ -443,7 +447,7 @@
}
}
}
- else { // vertical
+ else { // horizontal
if (rect.iBr.iX < m_selectedElementRect.iTl.iX || rect.iTl.iX > m_selectedElementRect.iBr.iX) {
overlap = 0;
}