diff -r 2f259fa3e83a -r 8ca85d2f0db7 uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp --- a/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp Tue Feb 02 01:00:49 2010 +0200 +++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp Fri Feb 19 23:04:46 2010 +0200 @@ -244,7 +244,10 @@ TSize viewSize( iViewRect.Width(), iViewRect.Height() ); iPhysics->InitPhysicsL( worldSize, viewSize, EFalse ); - iPhysics->UpdateViewWindowControl( iPopUpMenuContent ); + if ( iPopUpMenuContent->IsVisible() ) + { + iPhysics->UpdateViewWindowControl( iPopUpMenuContent ); + } } @@ -382,7 +385,7 @@ iPrevTopmostItem = topmostItem; //when appear or dispear a tiem,a feedback was given. - if ( abs( iPrevOffset ) <= iViewRect.Height() + if ( abs( iPrevOffset ) < iViewRect.Height() + iItemHeight && ( iPrevOffset/iItemHeight ) != iOffsetItemCount ) { if ( iPhysics ) @@ -412,8 +415,8 @@ break; } } + iOffsetItemCount = iPrevOffset/iItemHeight; } - iOffsetItemCount = iPrevOffset/iItemHeight; } }