Author: greatlrd Date: Sat Dec 2 13:27:56 2006 New Revision: 25015
URL: http://svn.reactos.org/svn/reactos?rev=25015&view=rev Log: adding check if it is IID_IDirectDraw7 on right place and learn it is lpDD->QueryInterface that optain the d3d interface.
Modified: trunk/reactos/dll/directx/ddraw/main/ddraw_main.c trunk/reactos/dll/directx/ddraw/rosdraw.h trunk/reactos/dll/directx/ddraw/startup.c
Modified: trunk/reactos/dll/directx/ddraw/main/ddraw_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main/ddra... ============================================================================== --- trunk/reactos/dll/directx/ddraw/main/ddraw_main.c (original) +++ trunk/reactos/dll/directx/ddraw/main/ddraw_main.c Sat Dec 2 13:27:56 2006 @@ -28,6 +28,10 @@
DX_WINDBG_trace();
+ /* fixme + the D3D object cab be optain from here + Direct3D7 + */ if (IsEqualGUID(&IID_IDirectDraw7, id)) { /* DirectDraw7 Vtable */
Modified: trunk/reactos/dll/directx/ddraw/rosdraw.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/rosdraw.h... ============================================================================== --- trunk/reactos/dll/directx/ddraw/rosdraw.h (original) +++ trunk/reactos/dll/directx/ddraw/rosdraw.h Sat Dec 2 13:27:56 2006 @@ -620,11 +620,11 @@ */
-#define DX_WINDBG_trace() -#define DX_STUB -#define DX_STUB_DD_OK return DD_OK; -#define DX_STUB_str(x) printf("%s",x); -#define DX_WINDBG_trace_res +//#define DX_WINDBG_trace() +//#define DX_STUB +//#define DX_STUB_DD_OK return DD_OK; +//#define DX_STUB_str(x) printf("%s",x); +//#define DX_WINDBG_trace_res
/* use this if want doing a trace from a program @@ -635,58 +635,58 @@ This marco does not create warings when you compile */
-//#define DX_STUB \ -//{ \ -// static BOOL firstcall = TRUE; \ -// if (firstcall) \ -// { \ -// char buffer[1024]; \ -// sprintf ( buffer, "Function %s is not implemented yet (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ -// OutputDebugStringA(buffer); \ -// firstcall = FALSE; \ -// } \ -//} \ -// return DDERR_UNSUPPORTED; -// -//#define DX_STUB_DD_OK \ -//{ \ -// static BOOL firstcall = TRUE; \ -// if (firstcall) \ -// { \ -// char buffer[1024]; \ -// sprintf ( buffer, "Function %s is not implemented yet (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ -// OutputDebugStringA(buffer); \ -// firstcall = FALSE; \ -// } \ -//} \ -// return DD_OK; -// -// -//#define DX_STUB_str(x) \ -// { \ -// char buffer[1024]; \ -// sprintf ( buffer, "Function %s %s (%s:%d)\n", __FUNCTION__,x,__FILE__,__LINE__ ); \ -// OutputDebugStringA(buffer); \ -// } -// -//#define DX_WINDBG_trace() \ -// static BOOL firstcallx = TRUE; \ -// if (firstcallx) \ -// { \ -// char buffer[1024]; \ -// sprintf ( buffer, "Enter Function %s (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ -// OutputDebugStringA(buffer); \ -// firstcallx = TRUE; \ -// } -// -//#define DX_WINDBG_trace_res(width,height,bpp) \ -// static BOOL firstcallxx = TRUE; \ -// if (firstcallxx) \ -// { \ -// char buffer[1024]; \ -// sprintf ( buffer, "Setmode have been req width=%d, height=%d bpp=%d\n",width,height,bpp); \ -// OutputDebugStringA(buffer); \ -// firstcallxx = FALSE; \ -// } +#define DX_STUB \ +{ \ + static BOOL firstcall = TRUE; \ + if (firstcall) \ + { \ + char buffer[1024]; \ + sprintf ( buffer, "Function %s is not implemented yet (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ + OutputDebugStringA(buffer); \ + firstcall = FALSE; \ + } \ +} \ + return DDERR_UNSUPPORTED; + +#define DX_STUB_DD_OK \ +{ \ + static BOOL firstcall = TRUE; \ + if (firstcall) \ + { \ + char buffer[1024]; \ + sprintf ( buffer, "Function %s is not implemented yet (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ + OutputDebugStringA(buffer); \ + firstcall = FALSE; \ + } \ +} \ + return DD_OK; + + +#define DX_STUB_str(x) \ + { \ + char buffer[1024]; \ + sprintf ( buffer, "Function %s %s (%s:%d)\n", __FUNCTION__,x,__FILE__,__LINE__ ); \ + OutputDebugStringA(buffer); \ + } + +#define DX_WINDBG_trace() \ + static BOOL firstcallx = TRUE; \ + if (firstcallx) \ + { \ + char buffer[1024]; \ + sprintf ( buffer, "Enter Function %s (%s:%d)\n", __FUNCTION__,__FILE__,__LINE__ ); \ + OutputDebugStringA(buffer); \ + firstcallx = TRUE; \ + } + +#define DX_WINDBG_trace_res(width,height,bpp) \ + static BOOL firstcallxx = TRUE; \ + if (firstcallxx) \ + { \ + char buffer[1024]; \ + sprintf ( buffer, "Setmode have been req width=%d, height=%d bpp=%d\n",width,height,bpp); \ + OutputDebugStringA(buffer); \ + firstcallxx = FALSE; \ + }
#endif /* __DDRAW_PRIVATE */
Modified: trunk/reactos/dll/directx/ddraw/startup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/startup.c... ============================================================================== --- trunk/reactos/dll/directx/ddraw/startup.c (original) +++ trunk/reactos/dll/directx/ddraw/startup.c Sat Dec 2 13:27:56 2006 @@ -881,14 +881,18 @@ BOOL ex) { LPDDRAWI_DIRECTDRAW_INT This; - DX_WINDBG_trace(); + + if (!IsEqualGUID(&IID_IDirectDraw7, id)) + { + return DDERR_INVALIDDIRECTDRAWGUID; + } This = DxHeapMemAlloc(sizeof(DDRAWI_DIRECTDRAW_INT)); if (This == NULL) { - return E_OUTOFMEMORY; + return DDERR_OUTOFMEMORY; }
This->lpLcl = DxHeapMemAlloc(sizeof(DDRAWI_DIRECTDRAW_INT));