Author: greatlrd Date: Sat Dec 18 18:52:56 2010 New Revision: 50058
URL: http://svn.reactos.org/svn/reactos?rev=50058&view=rev Log: [win32k] function DxEngGetHdevData pdev->hSpooler is a pointer to PDEVICE_OBJECT but in books it marks as handle. hSpooler is where u loading in printer drv or second time same graphic drv. ReactOS does not support printer or loading second time same graphic drv so we point it to PDev->pGraphicsDevice->DeviceObject
Modified: branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
Modified: branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dxeng.c URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/subsystems/win32/... ============================================================================== --- branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] (original) +++ branches/reactx/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] Sat Dec 18 18:52:56 2010 @@ -291,7 +291,14 @@ break; case DxEGShDevData_hSpooler: DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_hSpooler\n"); - retVal = 0;//(DWORD_PTR) PDev->hSpooler; // If the device is a spooler driver. + /* NOTE : the hSpooler handler is a PDEVICE_OBJECT and it contain + second loaded drv, in ms win32k it load in same drv twice + or the printer drv here. so we hack it for now + to Dev->pGraphicsDevice->DeviceObject + */ + // retVal = (DWORD_PTR) PDev->hSpooler; // If the device is a spooler driver. + retVal = (DWORD_PTR) PDev->pGraphicsDevice->DeviceObject; // Hack until printer drv stack have been written + break; case DxEGShDevData_DitherFmt: DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DitherFmt\n");