diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c index 8994b8775a9..57db380f3a4 100644 --- a/dlls/gdiplus/brush.c +++ b/dlls/gdiplus/brush.c @@ -794,7 +794,7 @@ GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, GDIPCONST GpImageAttributes *imageattr, REAL x, REAL y, REAL width, REAL height, GpTexture **texture) { - HBITMAP hbm; + HBITMAP hbm=NULL; GpStatus status; GpImage *new_image=NULL; @@ -815,7 +815,7 @@ GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, if (status != Ok) return status; - hbm = ((GpBitmap*)new_image)->hbitmap; + status = GdipCreateHBITMAPFromBitmap((GpBitmap*)new_image, &hbm, 0); if(!hbm) { status = GenericError; @@ -861,6 +861,8 @@ exit: TRACE("<-- error %u\n", status); } + DeleteObject(hbm); + return status; }