]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/image.cpp
Add missing WXK constants for the control keys
[wxWidgets.git] / src / common / image.cpp
index a3a5f0ada6377f4dbd84b89afec7ba1a5d85dd24..2c61998e6d3c226b9822dcd4750d60a75f2b61a9 100644 (file)
@@ -2254,7 +2254,7 @@ static wxImage LoadImageFromResource(const wxString &name, wxBitmapType type)
 
     if ( type == wxBITMAP_TYPE_BMP_RESOURCE )
     {
 
     if ( type == wxBITMAP_TYPE_BMP_RESOURCE )
     {
-        hBitmap = ::LoadBitmap(wxGetInstance(), name.t_str());
+        hBitmap.Init( ::LoadBitmap(wxGetInstance(), name.t_str()) );
 
         if ( !hBitmap )
         {
 
         if ( !hBitmap )
         {
@@ -2278,8 +2278,8 @@ static wxImage LoadImageFromResource(const wxString &name, wxBitmapType type)
                 return wxImage();
             }
 
                 return wxImage();
             }
 
-            hBitmap = info.hbmColor;
-            hMask   = info.hbmMask;
+            hBitmap.Init(info.hbmColor);
+            hMask.Init(info.hbmMask);
         }
     }
     else if ( type == wxBITMAP_TYPE_CUR_RESOURCE )
         }
     }
     else if ( type == wxBITMAP_TYPE_CUR_RESOURCE )
@@ -2306,7 +2306,10 @@ static wxImage LoadImageFromResource(const wxString &name, wxBitmapType type)
         image.SetMaskColour(0xc0, 0xc0, 0xc0);
     }
 
         image.SetMaskColour(0xc0, 0xc0, 0xc0);
     }
 
-    image.InitAlpha();
+    // We could have already loaded alpha from the resources, but if not,
+    // initialize it now using the mask.
+    if ( !image.HasAlpha() )
+        image.InitAlpha();
 
     return image;
 }
 
     return image;
 }