mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:43:31 +00:00
gdiplus: Only release device contexts created internally.
This commit is contained in:
parent
fea6d0a764
commit
8a3d9ff773
2 changed files with 4 additions and 1 deletions
|
@ -91,6 +91,7 @@ struct GpPen{
|
|||
struct GpGraphics{
|
||||
HDC hdc;
|
||||
HWND hwnd;
|
||||
BOOL owndc;
|
||||
SmoothingMode smoothing;
|
||||
CompositingQuality compqual;
|
||||
InterpolationMode interpolation;
|
||||
|
|
|
@ -924,6 +924,7 @@ GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC hdc, HANDLE hDevice, GpGraphics **gra
|
|||
|
||||
(*graphics)->hdc = hdc;
|
||||
(*graphics)->hwnd = WindowFromDC(hdc);
|
||||
(*graphics)->owndc = FALSE;
|
||||
(*graphics)->smoothing = SmoothingModeDefault;
|
||||
(*graphics)->compqual = CompositingQualityDefault;
|
||||
(*graphics)->interpolation = InterpolationModeDefault;
|
||||
|
@ -947,6 +948,7 @@ GpStatus WINGDIPAPI GdipCreateFromHWND(HWND hwnd, GpGraphics **graphics)
|
|||
return ret;
|
||||
|
||||
(*graphics)->hwnd = hwnd;
|
||||
(*graphics)->owndc = TRUE;
|
||||
|
||||
return Ok;
|
||||
}
|
||||
|
@ -1081,7 +1083,7 @@ GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *graphics)
|
|||
if(!graphics) return InvalidParameter;
|
||||
if(graphics->busy) return ObjectBusy;
|
||||
|
||||
if(graphics->hwnd)
|
||||
if(graphics->owndc)
|
||||
ReleaseDC(graphics->hwnd, graphics->hdc);
|
||||
|
||||
GdipDeleteRegion(graphics->clip);
|
||||
|
|
Loading…
Reference in a new issue