gdiplus: Don't leak a device context when GdipCreateFromHWND fails.

This commit is contained in:
Vincent Povirk 2009-04-24 13:34:55 -05:00 committed by Alexandre Julliard
parent 8a3d9ff773
commit c3d2395669

View file

@ -941,11 +941,17 @@ GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC hdc, HANDLE hDevice, GpGraphics **gra
GpStatus WINGDIPAPI GdipCreateFromHWND(HWND hwnd, GpGraphics **graphics)
{
GpStatus ret;
HDC hdc;
TRACE("(%p, %p)\n", hwnd, graphics);
if((ret = GdipCreateFromHDC(GetDC(hwnd), graphics)) != Ok)
hdc = GetDC(hwnd);
if((ret = GdipCreateFromHDC(hdc, graphics)) != Ok)
{
ReleaseDC(hwnd, hdc);
return ret;
}
(*graphics)->hwnd = hwnd;
(*graphics)->owndc = TRUE;