mirror of
https://github.com/reactos/reactos.git
synced 2024-12-26 17:14:41 +00:00
Fixed a crach. and do not hardcode the flag ddsd to primersurface amd other value.
svn path=/trunk/; revision=18935
This commit is contained in:
parent
b954033d53
commit
4fdcdd13c6
1 changed files with 7 additions and 12 deletions
|
@ -60,11 +60,7 @@ HRESULT Hal_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAW pD
|
||||||
|
|
||||||
/************ Create Surface ***********************/
|
/************ Create Surface ***********************/
|
||||||
|
|
||||||
/* FIXME we are skipping filling in some data, I do not care for now */
|
/* FIXME we are skipping filling in some data, I do not care for now */
|
||||||
|
|
||||||
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal = &This->owner->DirectDrawGlobal;
|
|
||||||
This->ddsd.dwFlags = DDSD_CAPS;
|
|
||||||
This->ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
|
|
||||||
|
|
||||||
/* surface global struct */
|
/* surface global struct */
|
||||||
memset(&This->Global, 0, sizeof(DDRAWI_DDRAWSURFACE_GBL));
|
memset(&This->Global, 0, sizeof(DDRAWI_DDRAWSURFACE_GBL));
|
||||||
|
@ -72,7 +68,7 @@ HRESULT Hal_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAW pD
|
||||||
This->Global.wHeight = This->owner->DirectDrawGlobal.vmiData.dwDisplayHeight;
|
This->Global.wHeight = This->owner->DirectDrawGlobal.vmiData.dwDisplayHeight;
|
||||||
This->Global.wWidth = This->owner->DirectDrawGlobal.vmiData.dwDisplayWidth;
|
This->Global.wWidth = This->owner->DirectDrawGlobal.vmiData.dwDisplayWidth;
|
||||||
This->Global.dwLinearSize = This->owner->DirectDrawGlobal.vmiData.lDisplayPitch;
|
This->Global.dwLinearSize = This->owner->DirectDrawGlobal.vmiData.lDisplayPitch;
|
||||||
|
|
||||||
|
|
||||||
/* surface more struct */
|
/* surface more struct */
|
||||||
memset(&This->More, 0, sizeof(DDRAWI_DDRAWSURFACE_MORE));
|
memset(&This->More, 0, sizeof(DDRAWI_DDRAWSURFACE_MORE));
|
||||||
|
@ -87,18 +83,17 @@ HRESULT Hal_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 iface, LPDIRECTDRAW pD
|
||||||
/* FIXME do a memcopy */
|
/* FIXME do a memcopy */
|
||||||
This->Local.ddsCaps = *(DDSCAPS*)&This->ddsd.ddsCaps;
|
This->Local.ddsCaps = *(DDSCAPS*)&This->ddsd.ddsCaps;
|
||||||
|
|
||||||
/* for the double pointer below */
|
/* for the double pointer below */
|
||||||
DDRAWI_DDRAWSURFACE_LCL *pLocal[2];
|
This->pLocal[0] = &This->Local;
|
||||||
pLocal[0] = &This->Local;
|
This->pLocal[1] = NULL;
|
||||||
pLocal[1] = NULL;
|
|
||||||
|
|
||||||
/* the parameter struct */
|
/* the parameter struct */
|
||||||
DDHAL_CREATESURFACEDATA CreateData;
|
DDHAL_CREATESURFACEDATA CreateData;
|
||||||
memset(&CreateData, 0, sizeof(DDHAL_CREATESURFACEDATA));
|
memset(&CreateData, 0, sizeof(DDHAL_CREATESURFACEDATA));
|
||||||
CreateData.lpDD = pDirectDrawGlobal;
|
CreateData.lpDD = &This->owner->DirectDrawGlobal;
|
||||||
CreateData.lpDDSurfaceDesc = (LPDDSURFACEDESC) &This->ddsd;
|
CreateData.lpDDSurfaceDesc = (LPDDSURFACEDESC) &This->ddsd;
|
||||||
CreateData.dwSCnt = 1;
|
CreateData.dwSCnt = 1;
|
||||||
CreateData.lplpSList = pLocal;
|
CreateData.lplpSList = This->pLocal;
|
||||||
CreateData.ddRVal = DD_FALSE;
|
CreateData.ddRVal = DD_FALSE;
|
||||||
|
|
||||||
/* this is the call we were waiting for */
|
/* this is the call we were waiting for */
|
||||||
|
|
Loading…
Reference in a new issue