From 3c7fb4808de958bb3a0413c28ece95e5f351842d Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 19 Sep 2012 09:10:30 -0600 Subject: [PATCH] win32: fix for clipboard bitmap decoding Closes PR 13119 original commit: c16b696272763194f2fb3731c7bf8309e5d2542e --- collects/mred/private/wx/win32/clipboard.rkt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/mred/private/wx/win32/clipboard.rkt b/collects/mred/private/wx/win32/clipboard.rkt index a2b4f51a..70d6771b 100644 --- a/collects/mred/private/wx/win32/clipboard.rkt +++ b/collects/mred/private/wx/win32/clipboard.rkt @@ -35,6 +35,7 @@ (define DIB_RGB_COLORS 0) (define SRCCOPY #x00CC0020) +(define BI_BITFIELDS 3) (define-cstruct _BITMAPINFOHEADER ([biSize _DWORD] @@ -233,7 +234,10 @@ (ReleaseDC #f screen-hdc) (StretchDIBits hdc 0 0 w h 0 0 w h - (ptr-add bmi (+ (BITMAPINFOHEADER-biSize bmi) psize)) + (ptr-add bmi (+ (BITMAPINFOHEADER-biSize bmi) psize + (if (= (BITMAPINFOHEADER-biCompression bmi) BI_BITFIELDS) + 12 + 0))) bmi DIB_RGB_COLORS SRCCOPY) (SelectObject hdc old-hbitmap) (GlobalUnlock bits)