idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp
changeset 5 c743ef5928ba
parent 4 4d54b72983ae
child 9 f966699dea19
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp	Tue Jan 26 11:48:23 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp	Tue Feb 02 00:04:13 2010 +0200
@@ -872,7 +872,6 @@
     if ( next.Occupied() && !next.Active() )
         {            
         iAppUiAdapter.ViewAdapter().ActivateContainerL( next );                
-        UpdateWallpaperL( current, next );
         }
     }
 
@@ -895,7 +894,6 @@
     if ( prev.Occupied() && !prev.Active() )
         {   
         iAppUiAdapter.ViewAdapter().ActivateContainerL( prev );
-        UpdateWallpaperL( current, prev );
         }
     }
 
@@ -1083,6 +1081,9 @@
                 iAppUiAdapter.ViewAdapter().ActivateContainerL( next );
                 }
 
+            // Remove wallpaper from cache
+            iAppUiAdapter.ViewAdapter().BgManager().DeleteWallpaper( *view );
+
             retval = iHspsWrapper->RemovePluginL( view->PluginId() );
             
             // Notify observers of view list change
@@ -1137,6 +1138,9 @@
                 
         CXnViewData* view( static_cast< CXnViewData* >( views[ index ] ) );
 
+        // Remove wallpaper from cache
+        iAppUiAdapter.ViewAdapter().BgManager().DeleteWallpaper( *view );
+
         // Remove plugin from HSPS
         iHspsWrapper->RemovePluginL( view->PluginId() );
         
@@ -1296,7 +1300,8 @@
         iHspsWrapper->SetActivePluginL( aViewToActivate.PluginId() );
 
         // Cache update is needed after view activation
-        UpdateCachesL();        
+        UpdateCachesL();       
+        UpdateWallpaperL( viewToDeactivate, aViewToActivate );
         }
     else
         {
@@ -1310,7 +1315,7 @@
     NotifyViewActivatedL( aViewToActivate );
     UpdatePageManagementInformationL();
     
-#ifdef _XN_PERFORMANCE_TEST_
+    #ifdef _XN_PERFORMANCE_TEST_
     RDebug::Print( _L( "CXnViewManager::NotifyContainerChangedL - end" ) );
 #endif //_XN_PERFORMANCE_TEST_
     }
@@ -1641,7 +1646,7 @@
 //
 void CXnViewManager::UpdateWallpaperL( CXnViewData& aCurrent, CXnViewData& aNew )
     {
-    iEditor->BgManager().WallpaperChanged( aCurrent, aNew );
+    iAppUiAdapter.ViewAdapter().BgManager().WallpaperChanged( aCurrent, aNew );
     }
 
 // -----------------------------------------------------------------------------