diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c index 1359f5d8fb5..f97cfe0a2e7 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c @@ -177,6 +177,7 @@ Main_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeig { // Update Interals BOOL ModeChanged; + This->lpLcl->lpGbl->hDD = This->lpLcl->hDD; DdReenableDirectDrawObject(This->lpLcl->lpGbl, &ModeChanged); StartDirectDraw((LPDIRECTDRAW)iface, 0, TRUE); } @@ -203,6 +204,8 @@ Main_DirectDraw_RestoreDisplayMode (LPDIRECTDRAW7 iface) // Update Interals BOOL ModeChanged; + + This->lpLcl->lpGbl->hDD = This->lpLcl->hDD; DdReenableDirectDrawObject(This->lpLcl->lpGbl, &ModeChanged); StartDirectDraw((LPDIRECTDRAW)iface, 0, TRUE); } diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c index 24497e2a4dc..3538c0c8d52 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c @@ -202,6 +202,8 @@ Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps, memdata.ddRVal = DDERR_INVALIDPARAMS; memcpy(&memdata.DDSCaps, ddscaps, sizeof(DDSCAPS2)); + This->lpLcl->lpGbl->hDD = This->lpLcl->hDD; + if (This->lpLcl->lpDDCB->HALDDMiscellaneous.GetAvailDriverMemory(&memdata) == DDHAL_DRIVER_NOTHANDLED) { retVal = DDERR_NODIRECTDRAWHW;