mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:43:04 +00:00
In W32kDeleteDC call UnreferenceDriver only for non memory DC.
This will fix the second gditest bug. svn path=/trunk/; revision=2626
This commit is contained in:
parent
9ca5a97711
commit
409ce02fa7
1 changed files with 12 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $Id: dc.c,v 1.29 2001/11/19 12:06:23 jfilby Exp $
|
||||
/* $Id: dc.c,v 1.30 2002/02/15 20:14:43 hbirr Exp $
|
||||
*
|
||||
* DC.C - Device context functions
|
||||
*
|
||||
|
@ -320,15 +320,17 @@ BOOL STDCALL W32kDeleteDC(HDC DCHandle)
|
|||
return FALSE;
|
||||
}
|
||||
DPRINT( "Deleting DC\n" );
|
||||
if ((!DRIVER_UnreferenceDriver (DCToDelete->DriverName)) &&
|
||||
(!(DCToDelete->w.flags & DC_MEMORY))) // Don't reset the display if its a memory DC
|
||||
if ((!(DCToDelete->w.flags & DC_MEMORY))) // Don't reset the display if its a memory DC
|
||||
{
|
||||
DPRINT( "No more references to driver, reseting display\n" );
|
||||
DCToDelete->DriverFunctions.DisableSurface(DCToDelete->PDev);
|
||||
CHECKPOINT;
|
||||
DCToDelete->DriverFunctions.AssertMode( DCToDelete->PDev, FALSE );
|
||||
CHECKPOINT;
|
||||
DCToDelete->DriverFunctions.DisablePDev(DCToDelete->PDev);
|
||||
if (!DRIVER_UnreferenceDriver (DCToDelete->DriverName))
|
||||
{
|
||||
DPRINT( "No more references to driver, reseting display\n" );
|
||||
DCToDelete->DriverFunctions.DisableSurface(DCToDelete->PDev);
|
||||
CHECKPOINT;
|
||||
DCToDelete->DriverFunctions.AssertMode( DCToDelete->PDev, FALSE );
|
||||
CHECKPOINT;
|
||||
DCToDelete->DriverFunctions.DisablePDev(DCToDelete->PDev);
|
||||
}
|
||||
}
|
||||
CHECKPOINT;
|
||||
/* First delete all saved DCs */
|
||||
|
@ -376,7 +378,7 @@ BOOL STDCALL W32kDeleteDC(HDC DCHandle)
|
|||
#if 0 /* FIXME */
|
||||
PATH_DestroyGdiPath (&DCToDelete->w.path);
|
||||
#endif
|
||||
|
||||
|
||||
DC_FreeDC (DCToDelete);
|
||||
|
||||
return TRUE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue