diff -r 0aa5fbdfbc30 -r 3d340a0166ff uifw/EikStd/coctlsrc/EIKSCRLB.CPP --- a/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Tue Apr 27 16:55:05 2010 +0300 +++ b/uifw/EikStd/coctlsrc/EIKSCRLB.CPP Tue May 11 16:27:42 2010 +0300 @@ -2382,25 +2382,35 @@ scrollBarRect.Move( Position().iX - windowOwningParent->Position().iX, 0 ); } - - // left to right layout in use - if ( !AknLayoutUtils::LayoutMirrored() ) - { - xGap = parentRect.iBr.iX - scrollBarRect.iBr.iX; - if ( Abs( xGap ) < scrollBarRect.Width() ) - { - extension.iBr.iX += xGap; - } - } - // right to left layout in use + if ( iOrientation == CEikScrollBar::EVertical ) + { + // left to right layout in use + if ( !AknLayoutUtils::LayoutMirrored() ) + { + xGap = parentRect.iBr.iX - scrollBarRect.iBr.iX; + if ( Abs( xGap ) < scrollBarRect.Width() ) + { + extension.iBr.iX += xGap; + } + } + // right to left layout in use + else + { + xGap = parentRect.iTl.iX - scrollBarRect.iTl.iX; + if ( Abs( xGap ) < scrollBarRect.Width() ) + { + extension.iTl.iX += xGap; + } + } + } else - { - xGap = parentRect.iTl.iX - scrollBarRect.iTl.iX; - if ( Abs( xGap ) < scrollBarRect.Width() ) - { - extension.iTl.iX += xGap; - } - } + { + xGap = parentRect.iBr.iY - scrollBarRect.iBr.iY; + if ( Abs( xGap ) < scrollBarRect.Height() ) + { + extension.iBr.iY += xGap; + } + } } } @@ -2416,7 +2426,7 @@ area.iTl.iX = scrollbar.iTl.iY - extension.iTl.iY; area.iTl.iY = scrollbar.Width() - extension.Width(); area.iBr.iX = iSize.iWidth + ( extension.Height() - scrollbar.Height() ); - area.iBr.iY = area.iTl.iY + extension.Width(); + area.iBr.iY = area.iTl.iY + extension.Height(); } return area;