This->More.dmiDDrawReserved7.wWidth = This->Global.wWidth;
This->More.dmiDDrawReserved7.wHeight = This->Global.wHeight;
This->More.dmiDDrawReserved7.wBPP = This->owner->Bpp;
- //This->More.dmiDDrawReserved7.wRefreshRate = ;
+ This->More.dmiDDrawReserved7.wRefreshRate = This->owner->DirectDrawGlobal.dwMonitorFrequency;
//This->More.dmiDDrawReserved7.wMonitorsAttachedToDesktop = 2;
/* ToDo: fill ddsCapsEx */
This->Local.lpGbl = &This->Global;
This->Local.lpSurfMore = &This->More;
This->Local.ddsCaps.dwCaps = pDDSD2->ddsCaps.dwCaps;
- This->Local.dwProcessId = GetCurrentProcessId();
+ This->Local.dwProcessId = This->owner->ExclusiveOwner.dwProcessId;
/* for the double pointer below */
This->pLocal[0] = &This->Local;
This->Height = GetDeviceCaps((HDC)This->DirectDrawGlobal.lpExclusiveOwner->hDC , VERTRES);
This->Width = GetDeviceCaps((HDC)This->DirectDrawGlobal.lpExclusiveOwner->hDC , HORZRES);
- This->Bpp = GetDeviceCaps((HDC)This->DirectDrawGlobal.lpExclusiveOwner->hDC , BITSPIXEL);
+ This->Bpp = GetDeviceCaps((HDC)This->DirectDrawGlobal.lpExclusiveOwner->hDC , BITSPIXEL);
// call software first
if((ret = Hal_DirectDraw_Initialize (iface)) != DD_OK)
// ... then overwrite with hal
if((ret = Hel_DirectDraw_Initialize (iface)) != DD_OK)
return ret;
+
+ /* Hack to set right freq */
+
+ This->DirectDrawGlobal.dwMonitorFrequency = GetDeviceCaps((HDC)This->DirectDrawGlobal.lpExclusiveOwner->hDC , VREFRESH);
return DD_OK;
}