diff -r f9bb0fca356a -r 0fd27995241b javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp --- a/javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp Fri Apr 30 10:40:48 2010 +0300 +++ b/javauis/lcdui_akn/lcdui/src/CMIDChoiceGroupControl.cpp Tue May 11 16:07:20 2010 +0300 @@ -1254,8 +1254,24 @@ return; } + TInt currentItem = KErrNotFound; +#ifdef RD_JAVA_S60_RELEASE_9_2 + // First check if top visible item was set (only in case that + // ChoiceGroup was panned and now it is partially visible and + // got highlight by starting HW keys interaction). + // If item was set, do not scroll at all. + currentItem = iListBox->TopVisibleItemIndex(); + if (currentItem == KErrNotFound) + { + // Top visible item was not set, i.e. ChoiceGroup already + // have highlight or it is fully visible or it is fully invisible. + currentItem = iListBox->CurrentItemIndex(); + } +#else + currentItem = iListBox->CurrentItemIndex(); +#endif // RD_JAVA_S60_RELEASE_9_2 + // Calculate current listbox item rect - TInt currentItem = iListBox->CurrentItemIndex(); TRect lbitemRect = TRect( iListBox->View()->ItemPos(currentItem), iListBox->View()->ItemSize(currentItem));