diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c index 188d4e2a78d..2082cadcbc9 100644 --- a/dlls/winemac.drv/clipboard.c +++ b/dlls/winemac.drv/clipboard.c @@ -615,6 +615,36 @@ static HGLOBAL create_dib_from_bitmap(HBITMAP hBmp) } +/************************************************************************** + * create_bitmap_from_dib + * + * Given a packed DIB, creates a bitmap object from it. + */ +static HANDLE create_bitmap_from_dib(HANDLE dib) +{ + HANDLE ret = 0; + BITMAPINFO *bmi; + + if (dib && (bmi = GlobalLock(dib))) + { + HDC hdc; + unsigned int offset; + + hdc = GetDC(NULL); + + offset = bitmap_info_size(bmi, DIB_RGB_COLORS); + + ret = CreateDIBitmap(hdc, &bmi->bmiHeader, CBM_INIT, (LPBYTE)bmi + offset, + bmi, DIB_RGB_COLORS); + + GlobalUnlock(dib); + ReleaseDC(NULL, hdc); + } + + return ret; +} + + /************************************************************************** * import_clipboard_data * @@ -650,36 +680,6 @@ static HANDLE import_clipboard_data(CFDataRef data) } -/************************************************************************** - * create_bitmap_from_dib - * - * Given a packed DIB, creates a bitmap object from it. - */ -static HANDLE create_bitmap_from_dib(HANDLE dib) -{ - HANDLE ret = 0; - BITMAPINFO *bmi; - - if (dib && (bmi = GlobalLock(dib))) - { - HDC hdc; - unsigned int offset; - - hdc = GetDC(NULL); - - offset = bitmap_info_size(bmi, DIB_RGB_COLORS); - - ret = CreateDIBitmap(hdc, &bmi->bmiHeader, CBM_INIT, (LPBYTE)bmi + offset, - bmi, DIB_RGB_COLORS); - - GlobalUnlock(dib); - ReleaseDC(NULL, hdc); - } - - return ret; -} - - /************************************************************************** * import_bmp_to_bitmap *