webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.cpp
changeset 27 6297cdf66332
parent 0 dd21522fd290
child 48 79859ed3eea9
--- a/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.cpp	Thu Jan 07 13:31:38 2010 +0200
+++ b/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.cpp	Mon Jan 18 21:20:18 2010 +0200
@@ -68,16 +68,24 @@
             return NULL;
         CGulIcon* icon = NULL;
         CFbsBitmap* bitmap = new CFbsBitmap();
-        CFbsBitmap* mask = new CFbsBitmap();
-
+        CFbsBitmap* mask = new CFbsBitmap();;
+        int errMask = KErrNone;
+        int errBmp = KErrNone;
         if (bitmap && mask) {
-            int err( BitmapUtil::CopyBitmap(maskedBitmap->Bitmap(), *bitmap));
-            int errMask( BitmapUtil::CopyBitmap(maskedBitmap->Mask(), *mask));
-            if (err == KErrNone && errMask == KErrNone) {
+            errBmp = BitmapUtil::CopyBitmap(maskedBitmap->Bitmap(), *bitmap);                                    
+            if(maskedBitmap->HasMask()) {
+                errMask = BitmapUtil::CopyBitmap(maskedBitmap->Mask(), *mask);
+            }else {
+                delete mask;
+                mask = NULL;
+            }
+                
+            if (errBmp == KErrNone && errMask == KErrNone) {
                 TRAP_IGNORE(icon = CGulIcon::NewL());
                 if (icon) {
                     icon->SetBitmap( bitmap );
-                    icon->SetMask( mask );
+                    if(mask)
+                        icon->SetMask( mask );
                 }
             }
         }
@@ -96,4 +104,7 @@
     iconDatabase()->releaseIconForPageURL(String(url));
 }
 
-
+void WebIconDatabase::setEnabled(bool enabled)
+{
+    iconDatabase()->setEnabled(enabled);
+}