diff -r 8ca85d2f0db7 -r aabf2c525e0f uifw/EikStd/coctlsrc/EIKEDWIN.CPP --- a/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Fri Feb 19 23:04:46 2010 +0200 +++ b/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Fri Mar 12 15:43:43 2010 +0200 @@ -5630,6 +5630,8 @@ TRect viewRect( AdjustedViewRect() ); const TInt formattedLines = Max(1, iLayout->NumFormattedLines()); const TInt formattedHeight = iLayout->FormattedHeightInPixels(); + const TBool formattedHeightchanged( formattedHeight != iEdwinExtension->iRecordFormattedHeight ); + iEdwinExtension->iRecordFormattedHeight = formattedHeight; const TInt viewRectHeight = viewRect.Height(); const TInt totalChars = iText->DocumentLength(); const TInt formattedLength = Min( totalChars, iLayout->FormattedLength() ); @@ -5647,7 +5649,7 @@ aVertModel.iThumbSpan = viewRectHeight; aVertModel.iScrollSpan = formattedHeight; aVertModel.iThumbPosition = iEdwinExtension->iThumbPos; - if ( aVertModel.iThumbPosition == KErrNotFound ) + if ( aVertModel.iThumbPosition == KErrNotFound || formattedHeightchanged ) { if ( bottomPos == totalChars ) { @@ -6655,10 +6657,16 @@ { case KEikDynamicLayoutVariantSwitch: { + if ( KineticScrollingEnabled() ) + { + iEdwinExtension->iPhysicsHandler->DisableDragging(); + } + iEdwinExtension->iThumbPos = KErrNotFound; SizeChanged(); if ( !IsReadOnly() && !IsNonFocusing() - && !( iEdwinUserFlags & EDisplayOnly ) ) + && !( iEdwinUserFlags & EDisplayOnly ) + && !KineticScrollingEnabled() ) { TInt docPos = CursorPos(); TRect viewRect( AdjustedViewRect() ); @@ -8565,6 +8573,7 @@ } else { + HandleSelectionForSmiley( TCursorSelection( 0, 0 ) ); SetAknEditorFlags( edwinState->Flags() & ~EAknEditorFlagSelectionVisible ); } return;