Module: wine Branch: master Commit: 466dfee115c49b0d6f81bd42aa4513730eb2b0f4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=466dfee115c49b0d6f81bd42aa...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Mon Aug 20 12:07:32 2012 +0900
gdiplus: If there is no hbitmap associated with GpBitmap then create one.
---
dlls/gdiplus/graphics.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 2b7a87b..c8fad68 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -3094,7 +3094,6 @@ GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image
if (imageAttributes || (graphics->image && graphics->image->type == ImageTypeBitmap) || - !((GpBitmap*)image)->hbitmap || ptf[1].Y != ptf[0].Y || ptf[2].X != ptf[0].X || ptf[1].X - ptf[0].X != srcwidth || ptf[2].Y - ptf[0].Y != srcheight || srcx < 0 || srcy < 0 || @@ -3281,7 +3280,14 @@ GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image } else { - hbitmap = bitmap->hbitmap; + if (bitmap->hbitmap) + hbitmap = bitmap->hbitmap; + else + { + GdipCreateHBITMAPFromBitmap(bitmap, &hbitmap, 0); + temp_bitmap = 1; + } + hdc = bitmap->hdc; temp_hdc = (hdc == 0); }