Author: greatlrd Date: Sun Apr 20 02:17:17 2008 New Revision: 33045
URL: http://svn.reactos.org/svn/reactos?rev=33045&view=rev Log: fixed 3 diffent bug for ms dxg.sys add correct prototypes for DxEngLockShareSem and DxEngUnlockShareSem add param check in NtGdiDdDeleteDirectDrawObject it now crash after or inside DxEngLockShareSem when it call on NtGdiDdDeleteDirectDrawObject
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff trunk/reactos/include/reactos/drivers/directx/dxeng.h trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/reac... ============================================================================== --- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Sun Apr 20 02:17:17 2008 @@ -125,7 +125,8 @@ dll\directx\dplayx\dplayx.dll 1 dll\directx\dsound\dsound.dll 1 dll\directx\dxdiagn\dxdiagn.dll 1 -dll\directx\ddraw\ddraw.dll 1 +windows\ddraw.dll 1 +windows\dciman32.dll 1 dll\directx\d3d8thk\d3d8thk.dll 1 dll\directx\devenum\devenum.dll 1 dll\directx\ksproxy\ksproxy.ax 1 @@ -307,9 +308,9 @@
drivers\bus\isapnp\isapnp.sys 2
-drivers\directx\dxapi\dxapi.sys 2 -drivers\directx\dxg\dxg.sys 2 -drivers\directx\dxgthk\dxgthk.sys 2 +windows\dxapi.sys 2 +windows\dxg.sys 2 +windows\dxgthk.sys 2
drivers\filesystems\fs_rec\fs_rec.sys 2 drivers\filesystems\msfs\msfs.sys 2 @@ -605,6 +606,17 @@ modules\rostests\winetests\uxtheme\uxtheme_winetest.exe 7 optional modules\rostests\winetests\version\version_winetest.exe 7 optional modules\rostests\winetests\wininet\wininet_winetest.exe 7 optional + +modules\rostests\dxtest\ddraw_test\ddraw_test.exe 7 optional +modules\rostests\dxtest\win32kdxtest\win32kdxtest.exe 7 optional + +modules\rostests\apitests\gdi32api\gdi32api.exe 7 optional + +modules\rostests\apitests\user32api\user32api.exe 7 optional +modules\rostests\apitests\w32knapi\w32knapi.exe 7 optional +modules\rostests\apitests\w32kdll\w32kdll_ros\w32kdll.dll 7 optional + + modules\wallpaper\lake.bmp 4 optional
; Native libraries
Modified: trunk/reactos/include/reactos/drivers/directx/dxeng.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/drivers/dir... ============================================================================== --- trunk/reactos/include/reactos/drivers/directx/dxeng.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/drivers/directx/dxeng.h [iso-8859-1] Sun Apr 20 02:17:17 2008 @@ -73,7 +73,6 @@ /* win32k.sys internal protypes for the driver functions it export */ /************************************************************************/ BOOLEAN STDCALL DxEngNUIsTermSrv(); - PDC STDCALL DxEngLockDC(HDC hDC); BOOLEAN STDCALL DxEngUnlockDC(PDC pDC); DWORD STDCALL DxEngGetHdevData(HDEV, DXEGSHDEVDATA); @@ -82,6 +81,8 @@ BOOLEAN STDCALL DxEngUnlockHdev(HDEV hdev); DWORD STDCALL DxEngGetDCState(HDC hDC, DWORD type); DWORD STDCALL DxEngReferenceHdev(HDEV hdev); +BOOLEAN STDCALL DxEngLockShareSem(); +BOOLEAN STDCALL DxEngUnlockShareSem();
/* prototypes are not done yet, I need gather all my notes * to make them correct @@ -92,8 +93,6 @@ HDEV *DxEngEnumerateHdev(HDEV *hdev); BOOL DxEngGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp); BOOLEAN DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Unuse); -BOOLEAN DxEngLockShareSem(); -BOOLEAN DxEngUnlockShareSem(); BOOLEAN DxEngCleanDC(HDC hdc); BOOLEAN DxEngIncDispUniq();
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntd... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntddraw/ddraw.c [iso-8859-1] Sun Apr 20 02:17:17 2008 @@ -331,6 +331,11 @@ return DDHAL_DRIVER_NOTHANDLED; }
+ if (hDirectDrawLocal == NULL) + { + DPRINT1("Warning: hDirectDrawLocal is NULL\n"); + return DDHAL_DRIVER_HANDLED; + } DPRINT1("Calling dxg.sys pfnDdDeleteDirectDrawObject\n"); return pfnDdDeleteDirectDrawObject(hDirectDrawLocal); }
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntd... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c [iso-8859-1] Sun Apr 20 02:17:17 2008 @@ -175,6 +175,7 @@ *SystemResourcesList *--*/ BOOLEAN +STDCALL DxEngLockShareSem() { BOOLEAN retVal = 0; @@ -203,6 +204,7 @@ * *--*/ BOOLEAN +STDCALL DxEngUnlockShareSem() { DPRINT1("ReactX Calling : DxEngUnlockShareSem\n");