X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e4a84806c650d56258e9ccc5fb27c42cbd18632a..c12822fec7f87e7734cabbfcf23b99685fc371ce:/src/msw/imaglist.cpp diff --git a/src/msw/imaglist.cpp b/src/msw/imaglist.cpp index 317bc0f788..4fb0fbb83d 100644 --- a/src/msw/imaglist.cpp +++ b/src/msw/imaglist.cpp @@ -38,6 +38,8 @@ #endif #include "wx/imaglist.h" +#include "wx/dc.h" +#include "wx/msw/dc.h" #include "wx/msw/private.h" // ---------------------------------------------------------------------------- @@ -241,7 +243,12 @@ bool wxImageList::Draw(int index, int flags, bool solidBackground) { - HDC hDC = GetHdcOf(dc); + wxDCImpl *impl = dc.GetImpl(); + wxMSWDCImpl *msw_impl = wxDynamicCast( impl, wxMSWDCImpl ); + if (!msw_impl) + return false; + + HDC hDC = GetHdcOf(*msw_impl); wxCHECK_MSG( hDC, false, _T("invalid wxDC in wxImageList::Draw") ); COLORREF clr = CLR_NONE; // transparent by default @@ -278,7 +285,7 @@ bool wxImageList::Draw(int index, // Get the bitmap wxBitmap wxImageList::GetBitmap(int index) const { -#if wxUSE_WXDIB +#if wxUSE_WXDIB && wxUSE_IMAGE int bmp_width = 0, bmp_height = 0; GetSize(index, bmp_width, bmp_height);