diff -r b1ea1642412e -r ac7e4d1d9209 textinput/peninputsplititut/src/peninputsplititutwesternuimgr.cpp --- a/textinput/peninputsplititut/src/peninputsplititutwesternuimgr.cpp Thu Jul 15 19:01:13 2010 +0300 +++ b/textinput/peninputsplititut/src/peninputsplititutwesternuimgr.cpp Thu Aug 19 10:15:25 2010 +0300 @@ -133,14 +133,23 @@ } iCurrentState = newstate; - if(DataMgr()->IsUpdate()) - { - DataMgr()->SetUpdate(EFalse); - CSplitItutUiLayout* itutLayout = - static_cast( LayoutContext()->UiLayout() ); - itutLayout->SizeChanged( NULL ); - } - iCurrentState->OnEntryL(); + if ( DataMgr()->IsUpdate() ) + { + DataMgr()->SetUpdate( EFalse ); + CSplitItutUiLayout* itutLayout = + static_cast( LayoutContext()->UiLayout() ); + itutLayout->SizeChanged( NULL ); + + iCurrentState->OnEntryL(); + + //redraw layout immediately to minimize flicker + itutLayout->DisableLayoutDrawing( EFalse ); + itutLayout->Draw(); + } + else + { + iCurrentState->OnEntryL(); + } } // ---------------------------------------------------------------------------