uifw/EikStd/coctlsrc/EIKEDWIN.CPP
branchRCL_3
changeset 9 aabf2c525e0f
parent 4 8ca85d2f0db7
child 10 9f56a4e1b8ab
--- 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;