mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:32:59 +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
|
* DC.C - Device context functions
|
||||||
*
|
*
|
||||||
|
@ -320,15 +320,17 @@ BOOL STDCALL W32kDeleteDC(HDC DCHandle)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
DPRINT( "Deleting DC\n" );
|
DPRINT( "Deleting DC\n" );
|
||||||
if ((!DRIVER_UnreferenceDriver (DCToDelete->DriverName)) &&
|
if ((!(DCToDelete->w.flags & DC_MEMORY))) // Don't reset the display if its a memory DC
|
||||||
(!(DCToDelete->w.flags & DC_MEMORY))) // Don't reset the display if its a memory DC
|
|
||||||
{
|
{
|
||||||
DPRINT( "No more references to driver, reseting display\n" );
|
if (!DRIVER_UnreferenceDriver (DCToDelete->DriverName))
|
||||||
DCToDelete->DriverFunctions.DisableSurface(DCToDelete->PDev);
|
{
|
||||||
CHECKPOINT;
|
DPRINT( "No more references to driver, reseting display\n" );
|
||||||
DCToDelete->DriverFunctions.AssertMode( DCToDelete->PDev, FALSE );
|
DCToDelete->DriverFunctions.DisableSurface(DCToDelete->PDev);
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
DCToDelete->DriverFunctions.DisablePDev(DCToDelete->PDev);
|
DCToDelete->DriverFunctions.AssertMode( DCToDelete->PDev, FALSE );
|
||||||
|
CHECKPOINT;
|
||||||
|
DCToDelete->DriverFunctions.DisablePDev(DCToDelete->PDev);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
/* First delete all saved DCs */
|
/* First delete all saved DCs */
|
||||||
|
@ -376,7 +378,7 @@ BOOL STDCALL W32kDeleteDC(HDC DCHandle)
|
||||||
#if 0 /* FIXME */
|
#if 0 /* FIXME */
|
||||||
PATH_DestroyGdiPath (&DCToDelete->w.path);
|
PATH_DestroyGdiPath (&DCToDelete->w.path);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DC_FreeDC (DCToDelete);
|
DC_FreeDC (DCToDelete);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue