Author: pschweitzer
Date: Thu Oct 7 20:20:10 2010
New Revision: 49044
URL: http://svn.reactos.org/svn/reactos?rev=49044&view=rev
Log:
[NTOSKRNL]
On boot, while loading drivers, make starting Loader Block available to the whole kernel to let drivers calling on-boot functions that may need it.
One of them will be implemented later.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iomgr.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] Thu Oct 7 20:20:10 2010
@@ -82,6 +82,8 @@
GENERAL_LOOKASIDE IopMdlLookasideList;
extern GENERAL_LOOKASIDE IoCompletionPacketLookaside;
+PLOADER_PARAMETER_BLOCK IopLoaderBlock;
+
#if defined (ALLOC_PRAGMA)
#pragma alloc_text(INIT, IoInitSystem)
#endif
@@ -493,6 +495,9 @@
/* Initialize HAL Root Bus Driver */
HalInitPnpDriver();
+ /* Make loader block available for the whole kernel */
+ IopLoaderBlock = LoaderBlock;
+
/* Load boot start drivers */
IopInitializeBootDrivers();
@@ -506,6 +511,9 @@
IopStartRamdisk(LoaderBlock);
}
+ /* No one should need loader block any longer */
+ IopLoaderBlock = NULL;
+
/* Create ARC names for boot devices */
if (!NT_SUCCESS(IopCreateArcNames(LoaderBlock))) return FALSE;
Author: pschweitzer
Date: Thu Oct 7 19:58:22 2010
New Revision: 49042
URL: http://svn.reactos.org/svn/reactos?rev=49042&view=rev
Log:
[NTOSKRNL]
Don't ignore IopCreateArcNames() return while booting.
At the moment, it's just returning STATUS_SUCCES but it will be changed later.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iomgr.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] Thu Oct 7 19:58:22 2010
@@ -507,7 +507,7 @@
}
/* Create ARC names for boot devices */
- IopCreateArcNames(LoaderBlock);
+ if (!NT_SUCCESS(IopCreateArcNames(LoaderBlock))) return FALSE;
/* Mark the system boot partition */
if (!IopMarkBootPartition(LoaderBlock)) return FALSE;
Author: gadamopoulos
Date: Thu Oct 7 19:14:49 2010
New Revision: 49039
URL: http://svn.reactos.org/svn/reactos?rev=49039&view=rev
Log:
[win32k]
- Fix an ancient FIXME in PATH_PathToRegion
Modified:
trunk/reactos/subsystems/win32/win32k/objects/path.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/path.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] Thu Oct 7 19:14:49 2010
@@ -1062,14 +1062,17 @@
PATH_FlattenPath ( pPath );
- /* FIXME: What happens when number of points is zero? */
-
/* First pass: Find out how many strokes there are in the path */
/* FIXME: We could eliminate this with some bookkeeping in GdiPath */
numStrokes=0;
for(i=0; i<pPath->numEntriesUsed; i++)
if((pPath->pFlags[i] & ~PT_CLOSEFIGURE) == PT_MOVETO)
numStrokes++;
+
+ if(numStrokes == 0)
+ {
+ return FALSE;
+ }
/* Allocate memory for number-of-points-in-stroke array */
pNumPointsInStroke = ExAllocatePoolWithTag(PagedPool, sizeof(ULONG) * numStrokes, TAG_PATH);