diff -r c8fb4cf7b3ae -r 5e18d8c489d6 textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp --- a/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp Tue May 11 16:31:42 2010 +0300 +++ b/textinput/peninputfingerhwr/src/peninputfingerhwrrangeselector.cpp Tue May 25 13:03:44 2010 +0300 @@ -111,7 +111,7 @@ CapturePointer( EFalse ); iPopupVisible = EFalse; - RootControl()->Draw(); + UpdateArea( extendRect, EFalse ); } @@ -183,11 +183,6 @@ CFepUiBaseCtrl* CPeninputFingerHwrRangeSelector::HandlePointerDownEventL( const TPoint& aPoint ) { - // Cancel all highlighted button, when pressing down - iRangeChBtn->SetHighlight( EFalse ); - iRangeEnBtn->SetHighlight( EFalse ); - iRangeNumBtn->SetHighlight( EFalse ); - CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerDownEventL( aPoint ); if ( !ctrl ) @@ -208,16 +203,26 @@ CFepUiBaseCtrl* CPeninputFingerHwrRangeSelector::HandlePointerUpEventL( const TPoint& aPoint ) { + if(IsPopup()) + { + if(iCurRangeActive) + { + if(iCurRange == EFingerHwrNativeRange) + { + iRangeChBtn->SetHighlight(EFalse); + } + else if(iCurRange == EFingerHwrEnglishRange) + { + iRangeEnBtn->SetHighlight(EFalse); + } + else + { + iRangeNumBtn->SetHighlight(EFalse); + } + } + } CFepUiBaseCtrl* ctrl = CControlGroup::HandlePointerUpEventL( aPoint ); - // When upCtrl does not equal to down ctrl, restore the highlight button state. - if (ctrl != iCtrlWithPointerDown) - { - iRangeChBtn->SetHighlight( iCurRange == EFingerHwrNativeRange ); - iRangeEnBtn->SetHighlight( iCurRange == EFingerHwrEnglishRange ); - iRangeNumBtn->SetHighlight( iCurRange == EFingerHwrNumberRange ); - } - iRangeChBtn->CancelPointerDownL(); iRangeEnBtn->CancelPointerDownL(); iRangeNumBtn->CancelPointerDownL();