uifw/AvKon/src/aknPopup.cpp
branchRCL_3
changeset 18 0aa5fbdfbc30
parent 16 71dd06cfe933
child 55 aecbbf00d063
--- 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 <AknTasHook.h>
-
 #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<CAknAppUi*>( 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.