Author: jimtabor
Date: Mon Nov 5 20:27:25 2007
New Revision: 30187
URL:
http://svn.reactos.org/svn/reactos?rev=30187&view=rev
Log:
Ntoskrnl:
- Add callback for BatchFlushRoutine in ps/win32.c.
- Thanks to Thomas for helping me find out why it was not working.
Modified:
trunk/reactos/ntoskrnl/ke/i386/trap.s
trunk/reactos/ntoskrnl/ke/i386/usercall.c
trunk/reactos/ntoskrnl/ps/win32.c
Modified: trunk/reactos/ntoskrnl/ke/i386/trap.s
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/trap.s?re…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/trap.s (original)
+++ trunk/reactos/ntoskrnl/ke/i386/trap.s Mon Nov 5 20:27:25 2007
@@ -192,7 +192,8 @@
/* Flush it */
push edx
push eax
- //call [_KeGdiFlushUserBatch]
+// <-- Remove these once it is working!
+// call [_KeGdiFlushUserBatch]
pop eax
pop edx
Modified: trunk/reactos/ntoskrnl/ke/i386/usercall.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/usercall.…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/usercall.c (original)
+++ trunk/reactos/ntoskrnl/ke/i386/usercall.c Mon Nov 5 20:27:25 2007
@@ -11,6 +11,8 @@
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
+
+extern PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch();
/* PRIVATE FUNCTIONS *********************************************************/
@@ -217,6 +219,8 @@
{
/* Shouldn't happen in ROS yet */
ASSERT(FALSE);
+// *UserEsp -= 256;
+// KeGdiFlushUserBatch();
}
/* Restore stack and return */
Modified: trunk/reactos/ntoskrnl/ps/win32.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/win32.c?rev=30…
==============================================================================
--- trunk/reactos/ntoskrnl/ps/win32.c (original)
+++ trunk/reactos/ntoskrnl/ps/win32.c Mon Nov 5 20:27:25 2007
@@ -17,6 +17,7 @@
PKWIN32_PROCESS_CALLOUT PspW32ProcessCallout = NULL;
PKWIN32_THREAD_CALLOUT PspW32ThreadCallout = NULL;
+PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch = NULL;
extern PKWIN32_PARSEMETHOD_CALLOUT ExpWindowStationObjectParse;
extern PKWIN32_DELETEMETHOD_CALLOUT ExpWindowStationObjectDelete;
extern PKWIN32_DELETEMETHOD_CALLOUT ExpDesktopObjectDelete;
@@ -114,6 +115,7 @@
ExpWindowStationObjectDelete = CalloutData->WindowStationDeleteProcedure;
ExpDesktopObjectDelete = CalloutData->DesktopDeleteProcedure;
PopEventCallout = CalloutData->PowerEventCallout;
+ KeGdiFlushUserBatch = CalloutData->BatchFlushRoutine;
}
NTSTATUS