diff --git a/import/XbSymbolDatabase b/import/XbSymbolDatabase index cbf866b65..cc2b1b5c2 160000 --- a/import/XbSymbolDatabase +++ b/import/XbSymbolDatabase @@ -1 +1 @@ -Subproject commit cbf866b6538845c721bcd158ba53e951cb0a017f +Subproject commit cc2b1b5c2c3d6ff88dd4f68a6545f337a0f33931 diff --git a/src/core/HLE/D3D8/Direct3D9/Direct3D9.cpp b/src/core/HLE/D3D8/Direct3D9/Direct3D9.cpp index 089fbd8ff..74851dfc8 100644 --- a/src/core/HLE/D3D8/Direct3D9/Direct3D9.cpp +++ b/src/core/HLE/D3D8/Direct3D9/Direct3D9.cpp @@ -3220,12 +3220,18 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_SetViewport) { LOG_FUNC_ONE_ARG(pViewport); - D3DVIEWPORT HostViewPort = *pViewport; - // Always call the Xbox SetViewPort to update D3D Internal State XB_trampoline(VOID, WINAPI, D3DDevice_SetViewport, (CONST X_D3DVIEWPORT8 *)); XB_D3DDevice_SetViewport(pViewport); + // Host does not support pViewPort = nullptr + if (pViewport == nullptr) { + LOG_TEST_CASE("pViewport = null"); + return; + } + + D3DVIEWPORT HostViewPort = *pViewport; + if (g_pXboxRenderTarget) { // Get current Xbox render target dimensions DWORD XboxRenderTarget_Width = GetPixelContainerWidth(g_pXboxRenderTarget);