From 74718af76ff3738b947f5cfab757ce9d2e2d28eb Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Fri, 13 Aug 2004 17:10:22 +0000 Subject: [PATCH] - Fix GC_destroy for window DCs. svn path=/trunk/; revision=10516 --- reactos/lib/rosky/libskygi/libskygi.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/reactos/lib/rosky/libskygi/libskygi.c b/reactos/lib/rosky/libskygi/libskygi.c index 59fae5e859b..8756e68493b 100644 --- a/reactos/lib/rosky/libskygi/libskygi.c +++ b/reactos/lib/rosky/libskygi/libskygi.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: libskygi.c,v 1.5 2004/08/13 12:29:18 weiden Exp $ +/* $Id: libskygi.c,v 1.6 2004/08/13 17:10:22 navaraf Exp $ * * PROJECT: SkyOS GI library * FILE: lib/libskygi/libskygi.c @@ -962,9 +962,21 @@ int __cdecl GC_destroy(GC *Gc) { DBG("GC_destroy(0x%x)\n", Gc); - if(Gc != NULL) + if (Gc != NULL) { - DeleteDC(((PSKY_GC)Gc)->hDC); + switch (Gc->type) + { + case GC_TYPE_DIB: + DeleteDC(((PSKY_GC)Gc)->hDC); + break; + + case GC_TYPE_WINDOW: + ReleaseDC(((PSKY_WINDOW)Gc->window)->hWnd, ((PSKY_GC)Gc)->hDC); + break; + + default: + DBG("Unknown GC type: %x\n", Gc->type); + } HeapFree(GetProcessHeap(), 0, Gc); return 1; } -- 2.17.1