]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/imaglist.cpp
Don't close arcs drawn in wxPostScriptDC.
[wxWidgets.git] / src / msw / imaglist.cpp
index 087d6dddba41c65d6978719eccb42fbb10d25fe8..366e635f9eacd6264b245b9b8a9c11b4ddef5385 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.