idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp
branchRCL_3
changeset 54 1b758917cafc
parent 50 137ebc85284b
child 59 d721605b30d0
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp	Tue May 25 12:29:32 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp	Wed Jun 09 09:29:04 2010 +0300
@@ -557,26 +557,27 @@
         {
         return;
         }
-
-    // Get previous container and then deactivate it    
-    const CXnViewData* previous( iContainer ); 
-    const CXnViewData& active( iAppUiAdapter.ViewManager().ActiveViewData() );
     
-    DeactivateContainerL( EFalse );
-
     if ( iFlags.IsClear( EIsActivated ) )
         {
         // Some other view than this in this appui is currently active,
         // postpone container activation
         return;
         }
+ 
+    const CXnViewData& active( iAppUiAdapter.ViewManager().ActiveViewData() );
+    
+    CXnEffectManager* mgr( iAppUiAdapter.EffectManager() );
+    
+    CleanupStack::PushL( TCleanupItem( CleanupEffect, mgr ) );
+    
+    TBool started(
+        mgr->BeginActivateViewEffect( active, aContainer, aEffect ) );
+    
+    DeactivateContainerL( EFalse );
         
     // Update  
     iContainer = &aContainer;
-        
-    CXnEffectManager* mgr( iAppUiAdapter.EffectManager() );
-    
-    CleanupStack::PushL( TCleanupItem( CleanupEffect, mgr ) );
     
     // Disable layout and redraw until container activation is done
     iAppUiAdapter.UiEngine().DisableRenderUiLC();
@@ -620,18 +621,7 @@
         {
         EnterEditStateL( aContainer, EFalse );                                
         }
-   
-    TBool started(
-        mgr->BeginActivateViewEffect( active, aContainer, aEffect ) );
-            
-    if ( previous )
-        {
-        CXnControlAdapter* previousControl( 
-            previous->Node()->LayoutNode()->Control() );
-                                      
-        previousControl->MakeVisible( EFalse );
-        }
-              
+    
     CXnControlAdapter* adapter( node->Control() );
     adapter->MakeVisible( ETrue );
            
@@ -907,6 +897,11 @@
             else
                 {
                 controls[i]->EnterPowerSaveModeL();
+                if ( controls[i]->LongTapDetector() && 
+                        controls[i]->LongTapDetector()->IsActive() )
+                    {
+                    controls[i]->LongTapDetector()->Cancel();
+                    }
                 }               
             }