Author: jimtabor
Date: Thu Jun 4 05:33:43 2009
New Revision: 41275
URL: http://svn.reactos.org/svn/reactos?rev=41275&view=rev
Log:
- More research is required to fix NtGdiSetPixelFormat, so removing disputed information.
Modified:
trunk/reactos/subsystems/win32/win32k/objects/wingl.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/wingl.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/wingl.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/wingl.c [iso-8859-1] Thu Jun 4 05:33:43 2009
@@ -162,23 +162,14 @@
ppdev = pdc->ppdev;
+ /*
+ WndObj is needed so exit on NULL pointer.
+ */
if (pWndObj) pso = pWndObj->psoOwner;
else
{
SetLastWin32Error(ERROR_INVALID_PIXEL_FORMAT);
goto Exit;
- }
-
- if (!pso)
- {
- /*
- Based on some rules! InfoDC to DC or, based on wiki information!
- All pointers, it's a "must be!", (CONTAINING_RECORD +10h = SURFOBJ), the
- pointer will start at SURFOBJ of the SURFACE structure.
- */
- pso = (SURFOBJ *)pdc->dclevel.pSurface;
- if (!pso) pso = pdc->pSurfInfo;
- if (!pso) pso = ppdev->pSurface;
}
if (ppdev->flFlags & PDEV_META_DEVICE)
Author: mjmartin
Date: Wed Jun 3 13:48:33 2009
New Revision: 41269
URL: http://svn.reactos.org/svn/reactos?rev=41269&view=rev
Log:
- IopCreateDriver: Change MajorFunction routines back to internal function IopInvalidDeviceRequest for ones that were set to NULL in the Drivers DriverEntry. Windows does it and so shall we.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/driver.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Wed Jun 3 13:48:33 2009
@@ -1302,7 +1302,7 @@
RtlZeroMemory(DriverObject, ObjectSize);
DriverObject->Type = IO_TYPE_DRIVER;
DriverObject->Size = sizeof(DRIVER_OBJECT);
- DriverObject->Flags = DRVO_BUILTIN_DRIVER;
+ DriverObject->Flags = DRVO_LEGACY_DRIVER;//DRVO_BUILTIN_DRIVER;
DriverObject->DriverExtension = (PDRIVER_EXTENSION)(DriverObject + 1);
DriverObject->DriverExtension->DriverObject = DriverObject;
DriverObject->DriverInit = InitializationFunction;
@@ -1398,6 +1398,14 @@
{
/* Returns to caller the object */
*pDriverObject = DriverObject;
+ }
+
+ /* Loop all Major Functions */
+ for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
+ {
+ /* Set each function that was set to NULL to internal routine */
+ if (!DriverObject->MajorFunction[i])
+ DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
}
/* Return the Status */