]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/imaglist.cpp
Fix broken and missing DataView interface items for Phoenix
[wxWidgets.git] / src / msw / imaglist.cpp
index 087d6dddba41c65d6978719eccb42fbb10d25fe8..266af3feb0f43572db73541ba7753ca5a056101e 100644 (file)
@@ -159,7 +159,7 @@ int wxImageList::Add(const wxBitmap& bitmap, const wxBitmap& mask)
 #endif // wxUSE_WXDIB && wxUSE_IMAGE
         hbmp = GetHbitmapOf(bitmap);
 
-    HBITMAP hbmpMask = GetMaskForImage(bitmap, mask);
+    AutoHBITMAP hbmpMask(GetMaskForImage(bitmap, mask));
 
     int index = ImageList_Add(GetHImageList(), hbmp, hbmpMask);
     if ( index == -1 )
@@ -167,8 +167,6 @@ int wxImageList::Add(const wxBitmap& bitmap, const wxBitmap& mask)
         wxLogError(_("Couldn't add an image to the image list."));
     }
 
-    ::DeleteObject(hbmpMask);
-
     return index;
 }
 
@@ -237,17 +235,15 @@ bool wxImageList::Replace(int index,
 #endif // wxUSE_WXDIB && wxUSE_IMAGE
         hbmp = GetHbitmapOf(bitmap);
 
-    HBITMAP hbmpMask = GetMaskForImage(bitmap, mask);
+    AutoHBITMAP hbmpMask(GetMaskForImage(bitmap, mask));
 
-    bool ok = ImageList_Replace(GetHImageList(), index, hbmp, hbmpMask) != 0;
-    if ( !ok )
+    if ( !ImageList_Replace(GetHImageList(), index, hbmp, hbmpMask) )
     {
         wxLogLastError(wxT("ImageList_Replace()"));
+        return false;
     }
 
-    ::DeleteObject(hbmpMask);
-
-    return ok;
+    return true;
 }
 
 // Replaces a bitmap and mask from an icon.
@@ -303,7 +299,7 @@ bool wxImageList::Draw(int index,
     if ( solidBackground )
     {
         const wxBrush& brush = dc.GetBackground();
-        if ( brush.Ok() )
+        if ( brush.IsOk() )
         {
             clr = wxColourToRGB(brush.GetColour());
         }
@@ -403,7 +399,7 @@ static HBITMAP GetMaskForImage(const wxBitmap& bitmap, const wxBitmap& mask)
     wxMask *pMask;
     bool deleteMask = false;
 
-    if ( mask.Ok() )
+    if ( mask.IsOk() )
     {
         hbmpMask = GetHbitmapOf(mask);
         pMask = NULL;