Don't lock the primary surface just to get info we already have.
Modified: trunk/reactos/subsys/win32k/objects/dc.c
_____
Modified: trunk/reactos/subsys/win32k/objects/dc.c
--- trunk/reactos/subsys/win32k/objects/dc.c 2005-05-30 12:52:38 UTC
(rev 15680)
+++ trunk/reactos/subsys/win32k/objects/dc.c 2005-05-30 13:00:50 UTC
(rev 15681)
@@ -729,7 +729,6 @@
HDC hNewDC;
PDC NewDC;
HDC hDC = NULL;
- SURFOBJ *SurfObj;
HRGN hVisRgn;
UNICODE_STRING StdDriver;
@@ -793,24 +792,13 @@
if (! CreateAsIC)
{
- SurfObj = EngLockSurface((HSURF)PrimarySurface.Handle);
- if ( !SurfObj )
- {
- DC_UnlockDc ( hNewDC );
- DC_FreeDC ( hNewDC) ;
- return NULL;
- }
- ASSERT(NewDC->GDIInfo->cBitsPixel * NewDC->GDIInfo->cPlanes ==
BitsPerFormat(SurfObj->iBitmapFormat));
- ASSERT(NewDC->GDIInfo->ulHorzRes == SurfObj->sizlBitmap.cx);
- ASSERT(NewDC->GDIInfo->ulVertRes == SurfObj->sizlBitmap.cy);
-
NewDC->w.hPalette = NewDC->DevInfo->hpalDefault;
NewDC->w.ROPmode = R2_COPYPEN;
DC_UnlockDc( hNewDC );
- hVisRgn = NtGdiCreateRectRgn(0, 0, SurfObj->sizlBitmap.cx,
- SurfObj->sizlBitmap.cy);
+ hVisRgn = NtGdiCreateRectRgn(0, 0, NewDC->GDIInfo->ulHorzRes,
+ NewDC->GDIInfo->ulVertRes);
NtGdiSelectVisRgn(hNewDC, hVisRgn);
NtGdiDeleteObject(hVisRgn);
@@ -820,8 +808,6 @@
NtGdiSetTextAlign(hNewDC, TA_TOP);
NtGdiSetBkColor(hNewDC, RGB(255, 255, 255));
NtGdiSetBkMode(hNewDC, OPAQUE);
-
- EngUnlockSurface(SurfObj);
}
else
{
Show replies by date