--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswdatalist.cpp Wed Sep 01 12:32:46 2010 +0100
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswdatalist.cpp Tue Sep 14 20:58:58 2010 +0300
@@ -737,6 +737,10 @@
if ( (iData[i]->Widget() == aConsiderWidgets) &&
!CheckIfExists(*iData[i], aListToFit) )
{
+ if( aConsiderWidgets )
+ {
+ RemoveScreenshot( iData[i]->AppUid().iUid );
+ }
delete iData[i];
iData.Remove(i);
changed = ETrue;
@@ -831,5 +835,29 @@
return changed;
}
+// --------------------------------------------------------------------------
+// CTsFswDataList::RemoveScreenshotFromParent
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::RemoveHiddenAppsScrenshotsL()
+ {
+ RArray<TInt> hiddenWgIds;
+ THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
+ while ( const TInt* wgIdkey = iter.NextKey() )
+ {
+ TInt wgId = *wgIdkey;
+ TBool hidden = HiddenApps()->IsHiddenL( AppUidForWgIdL( wgId),
+ iWsSession, wgId );
+ if( hidden )
+ {
+ hiddenWgIds.Append( wgId );
+ }
+ }
+ for ( TInt i = 0; i < hiddenWgIds.Count(); i++)
+ {
+ RemoveScreenshot( hiddenWgIds[i] );
+ }
+ hiddenWgIds.Reset();
+ }
// end of file