diff -r a47de9135b21 -r 6ceef9a83b1a textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp --- a/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp Fri Mar 12 15:44:07 2010 +0200 +++ b/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp Mon Mar 15 12:42:02 2010 +0200 @@ -371,11 +371,14 @@ void CGenericItutUiLayout::SetInputModeL(TInt aMode) { - // fix EJML-7HM6GM, e.g. both EStrokeFind and EStroke will be stored as EStroke - if (aMode != iDataMgr->InputMode() || - aMode == EStroke || aMode == EStrokeFind || - aMode == EZhuyin || aMode == EZhuyinFind || - ( iDataMgr->IsNumericOnly() && iDataMgr->IsCharFlagChanged() ) ) + TBool numericOnlyChanged = iDataMgr->IsCharFlagChanged() ? ETrue : EFalse; + //only number mode need judge it + + // fix EJML-7HM6GM, e.g. both EStrokeFind and EStroke will be stored as Estroke ///// + if ( aMode != iDataMgr->InputMode() || + aMode == EStroke || aMode == EStrokeFind || + aMode == EZhuyin || aMode == EZhuyinFind || + numericOnlyChanged ) { // deactivate original uimgr first if (iCurrentUiMgr