diff -r 08e69e956a8c -r 71dd06cfe933 uifw/AvKon/aknhlist/src/akntreelistview.cpp --- a/uifw/AvKon/aknhlist/src/akntreelistview.cpp Wed Mar 31 21:59:52 2010 +0300 +++ b/uifw/AvKon/aknhlist/src/akntreelistview.cpp Wed Apr 14 16:14:00 2010 +0300 @@ -861,6 +861,8 @@ if ( HighlightEnabled() ) { EnableHighlight( EFalse ); + // Redraw item + SetFocusedItem( FocusedItem(), FocusIndex(), ETrue ); } break; } @@ -897,6 +899,7 @@ { if( aPointerEvent.iType == TPointerEvent::EButton1Down ) { + iFlags.Clear( EFlagIgnoreButtonUpEvent ); iPreviouslyFocusedItem = FocusedItem(); } @@ -1288,7 +1291,8 @@ iIsPressedDownState = EFalse; iIsDragged = EFalse; - iItemActionMenu = CAknItemActionMenu::RegisterCollectionL( *this ); + iItemActionMenu = CAknItemActionMenu::RegisterCollectionL( *this, this ); + if ( iItemActionMenu ) { iLongTapDetector = CAknLongTapDetector::NewL( this ); @@ -2874,7 +2878,7 @@ AknListUtils::DrawSeparator( gc, offsetRect, textColor, skin ); } - TBool focused = ( IsFocused() && FocusedItem() && + TBool focused = ( FocusedItem() && iItems[ii].Item() == FocusedItem() ); if ( SingleClickEnabled() && !HighlightEnabled() )