--- a/uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp Mon Mar 15 12:43:37 2010 +0200
+++ b/uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp Wed Mar 31 23:03:58 2010 +0300
@@ -638,6 +638,12 @@
return EFalse;
}
+ if (!iForegroundTextureTransparency && iForegroundTexture)
+ {
+ // When we can blit foreground texture, we shouldn't need any textures in skin side.
+ iEnv.Skin().ReleaseCachedTextures();
+ }
+
TBool useDirtyRects = (RenderSurface().Flags() & MHuiRenderSurface::EFlagUseDirtyRects)
== MHuiRenderSurface::EFlagUseDirtyRects;
@@ -851,7 +857,7 @@
iGc->PushClip();
iGc->Clip(dirtyRect);
- if ( iForegroundBitmapGc )
+ if ( iForegroundBitmapGc && !RosterImpl().IsVisibleContentFrozen() )
{
// If we are in SW rendering mode, then SW bitmap may be blended.
// However, it's possible that nothing is drawn below, so clear
@@ -1628,6 +1634,12 @@
EXPORT_C void CHuiDisplay::SetForegroundTextureOptions(TBool aTransparency)
{
iForegroundTextureTransparency = aTransparency;
+
+ if (!iForegroundTextureTransparency && iForegroundTexture)
+ {
+ // When we can blit foreground texture, we shouldn't need any textures in skin side.
+ iEnv.Skin().ReleaseCachedTextures();
+ }
}
void CHuiDisplay::UpdateForegroundTexture(const TRect& aRect)
@@ -1657,7 +1669,7 @@
void CHuiDisplay::DrawForegroundTexture()
{
- if (iForegroundTexture)
+ if (iForegroundTexture && !RosterImpl().IsVisibleContentFrozen() )
{
THuiQuality originalQuality = iGc->Quality();
if ( originalQuality != EHuiQualityFast )