X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8cc4850c2d5cf91c7e1909862846e8ada4c52961..125ccda1967a6859ac11beec1a932dc967c22b65:/src/msw/clipbrd.cpp?ds=inline diff --git a/src/msw/clipbrd.cpp b/src/msw/clipbrd.cpp index 5c06269c92..49cc833ca9 100644 --- a/src/msw/clipbrd.cpp +++ b/src/msw/clipbrd.cpp @@ -161,7 +161,7 @@ bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat) case CF_BITMAP: return ::IsClipboardFormatAvailable(CF_DIB) != 0; -#if wxUSE_ENH_METAFILE && !defined(__WIN16__) && !defined(__WXWINCE__) +#if wxUSE_ENH_METAFILE && !defined(__WXWINCE__) case CF_METAFILEPICT: return ::IsClipboardFormatAvailable(CF_ENHMETAFILE) != 0; #endif // wxUSE_ENH_METAFILE @@ -221,10 +221,13 @@ bool wxSetClipboardData(wxDataFormat dataFormat, { wxBitmap *bitmap = (wxBitmap *)data; - HGLOBAL hDIB = wxDIB::ConvertFromBitmap(GetHbitmapOf(*bitmap)); - if ( hDIB ) + if ( bitmap && bitmap->Ok() ) { - handle = ::SetClipboardData(CF_DIB, hDIB); + wxDIB dib(*bitmap); + if ( dib.IsOk() ) + { + handle = ::SetClipboardData(CF_DIB, dib.Detach()); + } } break; } @@ -252,7 +255,7 @@ bool wxSetClipboardData(wxDataFormat dataFormat, } #endif // wxUSE_METAFILE -#if wxUSE_ENH_METAFILE && !defined(__WIN16__) && !defined(__WXWINCE__) +#if wxUSE_ENH_METAFILE && !defined(__WXWINCE__) case wxDF_ENHMETAFILE: { wxEnhMetaFile *emf = (wxEnhMetaFile *)data;