uiacceltk/hitchcock/coretoolkit/src/HuiS60Skin.cpp
changeset 19 f5bac0badc7e
parent 14 83d2d132aa58
child 31 1b6909418757
--- a/uiacceltk/hitchcock/coretoolkit/src/HuiS60Skin.cpp	Fri Apr 16 15:56:24 2010 +0300
+++ b/uiacceltk/hitchcock/coretoolkit/src/HuiS60Skin.cpp	Mon May 03 13:22:43 2010 +0300
@@ -32,7 +32,7 @@
 #include <AknUtils.h>
 
 #include "huiskinbackroundlayout.h"
-
+#include "huiextension.h"
 
 struct TBackgroundTexture
     {
@@ -296,7 +296,14 @@
 
 EXPORT_C void CHuiS60Skin::SkinExtension(const TUid& aExtensionUid, TAny** aExtensionParameters)
     {
-    CHuiSkin::SkinExtension(aExtensionUid,aExtensionParameters);
+    if (aExtensionUid == KHuiSkinReleaseCachedTextures)
+        {
+        FreeAllBackgroundTextureResources();
+        }
+    else
+        {        
+        CHuiSkin::SkinExtension(aExtensionUid, aExtensionParameters);
+        }
     }
     
 EXPORT_C THuiSkinOrientation CHuiS60Skin::Orientation() const
@@ -513,7 +520,7 @@
         bgTexture = ((TPrivData*)(iSpare))->iBackgrounds[index];
         if (bgTexture.iID == aID)
             {
-            if(!bgTexture.iBackgroundTexture && !bgTexture.iBackgroundTexture->HasContent())
+            if(!bgTexture.iBackgroundTexture || !bgTexture.iBackgroundTexture->HasContent())
                 {
                 delete bgTexture.iBackgroundTexture;
                 bgTexture.iBackgroundTexture = NULL;