Author: jimtabor Date: Wed Mar 26 12:49:18 2008 New Revision: 32767
URL: http://svn.reactos.org/svn/reactos?rev=3D32767&view=3Drev Log: Help Stefan out with SEH. It seems to run faster. I guess.
Modified: trunk/reactos/subsystems/win32/win32k/objects/dcutil.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/dcutil.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win3= 2k/objects/dcutil.c?rev=3D32767&r1=3D32766&r2=3D32767&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/reactos/subsystems/win32/win32k/objects/dcutil.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dcutil.c Wed Mar 26 12:49= :18 2008 @@ -112,10 +112,24 @@ VOID CopytoUserDcAttr(PDC dc, PDC_ATTR Dc_Attr) { + NTSTATUS Status =3D STATUS_SUCCESS; XForm2MatrixS( &dc->Dc_Attr.mxWorldToDevice, &dc->w.xformWorld2Vport); XForm2MatrixS( &dc->Dc_Attr.mxDevicetoWorld, &dc->w.xformVport2World); XForm2MatrixS( &dc->Dc_Attr.mxWorldToPage, &dc->w.xformWorld2Wnd); - MmCopyToCaller(Dc_Attr, &dc->Dc_Attr, sizeof(DC_ATTR)); + _SEH_TRY + { + ProbeForWrite( Dc_Attr, + sizeof(DC_ATTR), + 1); + RtlCopyMemory( Dc_Attr, + &dc->Dc_Attr, + sizeof(DC_ATTR)); + } + _SEH_HANDLE + { + Status =3D _SEH_GetExceptionCode(); + } + _SEH_END; } =
=