diff -r a1caeb42b3a3 -r fcdfafb36fe7 uifw/AvKon/src/AknPreviewPopUp.cpp --- a/uifw/AvKon/src/AknPreviewPopUp.cpp Thu Jul 15 18:56:19 2010 +0300 +++ b/uifw/AvKon/src/AknPreviewPopUp.cpp Thu Aug 19 10:11:06 2010 +0300 @@ -669,12 +669,27 @@ // ----------------------------------------------------------------------------- // TKeyResponse CAknPreviewPopUp::OfferKeyEventL( const TKeyEvent& /*aKeyEvent*/, - TEventCode /*aType*/ ) + TEventCode aType ) { + TKeyResponse ret ( EKeyWasNotConsumed ); + if ( !( iFlags & CAknPreviewPopUpController::EPermanentMode ) ) { - iCloseMenu = ETrue; - iController.HidePopUp(); + if ( !( iFlags & CAknPreviewPopUpController::EConsumeKeys ) ) + { + iCloseMenu = ETrue; + iController.HidePopUp(); + } + else + { + if ( aType == EEventKey || aType == EEventKeyUp ) + { + iCloseMenu = ETrue; + iController.HidePopUp(); + + ret = EKeyWasConsumed; + } + } } if ( CapturesPointer() ) @@ -682,7 +697,7 @@ SetPointerCapture( EFalse ); } - return EKeyWasNotConsumed; + return ret; } // ----------------------------------------------------------------------------- @@ -852,9 +867,9 @@ // CAknPreviewPopUp::CleanLocalRef // ----------------------------------------------------------------------------- // -void CAknPreviewPopUp::CleanLocalRef( TAny* any ) +void CAknPreviewPopUp::CleanLocalRef( TAny* aParam ) { - static_cast( any )->iIsDeleted = NULL; + static_cast( aParam )->iIsDeleted = NULL; } // End of File