From e566195eaf2e251c2d73ea0ec93b90bc1c2fa9f5 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 2 Oct 2001 21:40:11 +0000 Subject: [PATCH] Free cache DCEs if the DC gets deleted. --- objects/dc.c | 2 +- windows/dce.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/objects/dc.c b/objects/dc.c index be38bf043e1..24b16ef6dc8 100644 --- a/objects/dc.c +++ b/objects/dc.c @@ -745,7 +745,7 @@ BOOL WINAPI DeleteDC( HDC hdc ) DWORD data = dc->dwHookData; GDI_ReleaseObj( hdc ); if (!proc( hdc, DCHC_DELETEDC, data, 0 )) return FALSE; - if (!(dc = DC_GetDCPtr( hdc ))) return FALSE; + if (!(dc = DC_GetDCPtr( hdc ))) return TRUE; /* deleted by the hook */ } } diff --git a/windows/dce.c b/windows/dce.c index 4e718e43bf4..d9cf0d7cae2 100644 --- a/windows/dce.c +++ b/windows/dce.c @@ -623,6 +623,7 @@ BOOL16 WINAPI DCHook16( HDC16 hDC, WORD code, DWORD data, LPARAM lParam ) WARN("Application trying to delete a busy DC\n"); retv = FALSE; } + else DCE_FreeDCE( dce ); break; default: