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;
}
=
=