diff -r 941195f2d488 -r a8834a2e9a96 uifw/EikStd/dlgsrc/EIKCAPCA.CPP --- 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; }