diff -r 71dd06cfe933 -r 0aa5fbdfbc30 uifw/AvKon/src/aknPopup.cpp --- a/uifw/AvKon/src/aknPopup.cpp Wed Apr 14 16:14:00 2010 +0300 +++ b/uifw/AvKon/src/aknPopup.cpp Tue Apr 27 16:55:05 2010 +0300 @@ -38,7 +38,6 @@ #endif #include - #include "aknPopup.h" #include "akntrace.h" #include "aknitemactionmenuregister.h" @@ -304,8 +303,7 @@ iListBox->SetBorder(TGulBorder::ENone); // Create extension class - if (!iPopupListExtension) - iPopupListExtension = new (ELeave) CAknPopupListExtension(); + iPopupListExtension = new (ELeave) CAknPopupListExtension(); CAknAppUi* appUi = static_cast( iEikonEnv->EikAppUi() ); if ( appUi && appUi->IsSingleClickCompatible() ) @@ -421,6 +419,7 @@ STATIC_CAST(CAknFilteredTextListBoxModel*, ListBox()->Model())->Filter()->SetSearchField( NULL ); FindBox()->Editor().SetFocus( EFalse ); + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); delete iPopupListExtension->iSearchControl; iPopupListExtension->iSearchControl = NULL; } @@ -670,6 +669,7 @@ { _AKNTRACE_FUNC_ENTER; _AKNTRACE("ProcessCommandL: aCommandId=%d", aCommandId); + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); // Respond to softkey events switch (aCommandId) { @@ -729,6 +729,7 @@ EXPORT_C void CAknPopupList::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType) { _AKNTRACE_FUNC_ENTER; + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); // Respond to events from listbox if (aListBox == iListBox) { @@ -818,24 +819,7 @@ EXPORT_C void CAknPopupList::AttemptExitL(TBool aAccept) { _AKNTRACE_FUNC_ENTER; - if ( AknLayoutUtils::PenEnabled() ) - { - MTouchFeedback* feedback = MTouchFeedback::Instance(); - if ( feedback ) - { - TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; - if ( CAknTransitionUtils::TransitionsEnabled( - AknTransEffect::EComponentTransitionsOff ) ) - { - fbLogicalType = ETouchFeedbackDecreasingPopUp; - } - feedback->InstantFeedback( - this, - fbLogicalType, - ETouchFeedbackVibra, - TPointerEvent() ); - } - } + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); //EFTG-7HWDP6. if( FindBox() && !( FindBox()->Editor().AknEdwinFlags() & EAknEditorFlagTouchInputModeOpened ) @@ -860,6 +844,24 @@ } else if( !(iPopupListExtension->iFlags & EPopupFepStartEvent) ) { + if ( AknLayoutUtils::PenEnabled() ) + { + MTouchFeedback* feedback = MTouchFeedback::Instance(); + if ( feedback ) + { + TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; + if ( CAknTransitionUtils::TransitionsEnabled( + AknTransEffect::EComponentTransitionsOff ) ) + { + fbLogicalType = ETouchFeedbackDecreasingPopUp; + } + feedback->InstantFeedback( + this, + fbLogicalType, + ETouchFeedbackVibra, + TPointerEvent() ); + } + } #ifdef RD_UI_TRANSITION_EFFECTS_POPUPS // no transition if accepted if( IsVisible() && GfxTransEffect::IsRegistered(this) && !aAccept ) @@ -949,6 +951,7 @@ TInt softkeyHeight( KSoftkeyHeightUndefined ); + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); if (!iPopupListExtension->iBgContext) { TRAP_IGNORE( iPopupListExtension->iBgContext = CAknsFrameBackgroundControlContext::NewL( @@ -1115,7 +1118,8 @@ } if (aId.iUid == MAknsControlContext::ETypeId) { - if (iPopupListExtension && iPopupListExtension->iBgContext) + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); + if (iPopupListExtension->iBgContext) { return MAknsControlContext::SupplyMopObject(aId, iPopupListExtension->iBgContext); } @@ -1169,6 +1173,7 @@ if ( AknLayoutUtils::PenEnabled() ) { + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); iPopupListExtension->iFlags |= EPopupHandlingPointerEvent; TInt index; @@ -1241,8 +1246,7 @@ EXPORT_C TBool CAknPopupList::EnableFind(TBool /*aEnable*/) { - if (!iPopupListExtension) - return EFalse; // no extension class, failed + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); if (!iPopupListExtension->iSearchControl) { CAknSearchField::TSearchFieldStyle flags = CAknSearchField::EPopupWindow; @@ -1274,8 +1278,7 @@ EXPORT_C TBool CAknPopupList::EnableAdaptiveFind(TBool /*aEnable*/) { - if (!iPopupListExtension) - return EFalse; // no extension class, failed + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); if (!iPopupListExtension->iSearchControl) { CAknSearchField::TSearchFieldStyle flags = CAknSearchField::EPopupAdaptiveSearchWindow; @@ -1308,9 +1311,8 @@ EXPORT_C CAknSearchField* CAknPopupList::FindBox() const { - if (iPopupListExtension) - return iPopupListExtension->iSearchControl; - return NULL; + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); + return iPopupListExtension->iSearchControl; } void CAknPopupList::RemoveFindFiltering() @@ -1331,7 +1333,7 @@ _AKNTRACE_FUNC_ENTER; if( aType == KEikDynamicLayoutVariantSwitch ) { - + __ASSERT_DEBUG( iPopupListExtension, Panic( EAknPanicNullPointer ) ); //EFTG-7HWDP6. //Tapping Edit'area can arouse the CAknPopupList::HandleResourceChange() //when portrait is initial model, and 'Full screen QWERTY keyboard' is default input method.