]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/bitmap.cpp
Added wxPGProperty::OnValidationFailure(); needed it and some other tweaks to allow...
[wxWidgets.git] / src / msw / bitmap.cpp
index 38a27a4092ea368173f2669290152e27ccdafe87..1e8ff645c6a280c778a80dfcef5d0c836055f76e 100644 (file)
@@ -254,7 +254,7 @@ wxGDIImageRefData *wxBitmap::CreateData() const
 wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const
 {
     const wxBitmapRefData *
-        data = wx_static_cast(const wxBitmapRefData *, dataOrig);
+        data = static_cast<const wxBitmapRefData *>(dataOrig);
     if ( !data )
         return NULL;
 
@@ -262,7 +262,7 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const
     //        wxBitmapRefData using its copy ctor but instead it modifies this
     //        bitmap itself and then returns its m_refData -- which works, of
     //        course (except in !wxUSE_WXDIB), but is completely illogical
-    wxBitmap *self = wx_const_cast(wxBitmap *, this);
+    wxBitmap *self = const_cast<wxBitmap *>(this);
 
     wxBitmapRefData *selfdata;
 #if wxUSE_WXDIB
@@ -272,7 +272,7 @@ wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *dataOrig) const
         wxDIB dib((HBITMAP)(data->m_hBitmap));
         self->CopyFromDIB(dib);
 
-        selfdata = wx_static_cast(wxBitmapRefData *, m_refData);
+        selfdata = static_cast<wxBitmapRefData *>(m_refData);
         selfdata->m_hasAlpha = data->m_hasAlpha;
     }
     else
@@ -842,14 +842,16 @@ bool wxBitmap::CreateFromImage(const wxImage& image, int depth, WXHDC hdc)
         return false;
 
     const bool hasAlpha = image.HasAlpha();
+    
+    if (depth == -1)
+      depth = dib.GetDepth();
 
     // store the bitmap parameters
     wxBitmapRefData * const refData = new wxBitmapRefData;
     refData->m_width = w;
     refData->m_height = h;
     refData->m_hasAlpha = hasAlpha;
-    refData->m_depth = depth == -1 ? (hasAlpha ? 32 : 24)
-                                   : depth;
+    refData->m_depth = depth;
 
     m_refData = refData;