diff --git a/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx b/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx index bd36f99da3..0138463260 100644 --- a/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx +++ b/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx @@ -4767,6 +4767,9 @@ release_swap_chain(DXScreenData *new_context) { wdxdisplay9_cat.debug() << "Swapchain release failed:" << D3DERRORSTRING(hr) << "\n"; return false; } + if (new_context->_swap_chain == _swap_chain) { + _swap_chain = nullptr; + } } return true; }