uifw/EikStd/dlgsrc/EIKCAPCA.CPP
branchRCL_3
changeset 13 a8834a2e9a96
parent 3 8ca85d2f0db7
child 17 a1caeb42b3a3
--- a/uifw/EikStd/dlgsrc/EIKCAPCA.CPP	Tue May 25 12:58:19 2010 +0300
+++ b/uifw/EikStd/dlgsrc/EIKCAPCA.CPP	Wed Jun 09 09:58:37 2010 +0300
@@ -653,8 +653,12 @@
     TRect formRect = formtLayoutRect.Rect();
 	
 	CEikCapCArrayExtension *extension_or_null = ExtensionOrNull();
+	
+	TBool rectChanged = ETrue;
+	
 	if (extension_or_null)
 		{
+        rectChanged = ( extension_or_null->iRect != formRect );
 		extension_or_null->iRect = formRect;
 		}
 
@@ -665,7 +669,11 @@
         
         if ( control->DialogPage()->IsForm() )
             {
-            SetRealRect( aRect, aTop, aBottom );
+            if ( rectChanged )
+                {
+                SetRealRect( aRect, aTop, aBottom );
+                }
+
             _AKNTRACE_FUNC_EXIT;
             return;
             }
@@ -1137,7 +1145,12 @@
             topLeft.SetXY( Rect().iTl.iX, LineIndexToYPosition( aLine, aTopY ) );
             }
         
-        line->SetRect( TRect( topLeft, line->Size() ) );
+        TRect newRect( topLeft, line->Size() );
+        
+        if ( newRect != line->Rect() )
+            {
+            line->SetRect( TRect( topLeft, line->Size() ) );
+            }
         }
     _AKNTRACE_FUNC_EXIT;
     }