diff -r 968773a0b6ef -r c8382f7b54ef emailuis/uicomponents/src/fscontrolbutton.cpp --- a/emailuis/uicomponents/src/fscontrolbutton.cpp Tue Sep 14 20:48:24 2010 +0300 +++ b/emailuis/uicomponents/src/fscontrolbutton.cpp Wed Sep 15 11:52:37 2010 +0300 @@ -206,8 +206,11 @@ TFsControlButtonElem aWhich ) { FUNC_LOG; - iModel->SetIconL( aIcon, aWhich ); - iVisualiser->UpdateElementL( aWhich ); + if ( iModel->Icon( aWhich ) != &aIcon ) // don't set the same icon twice + { + iModel->SetIconL( aIcon, aWhich ); + iVisualiser->UpdateElementL( aWhich ); + } } @@ -629,7 +632,9 @@ iParent.HandleButtonEvent( MFsControlButtonObserver::EEventButton, iModel->Id() ); - result = ETrue; + + // EStdKeyDevice3 (EKeyOK) cannot be consumed here. + result = EFalse; if ( iTriggeredComponent ) {