diff --git a/panda/src/dxgsg8/wdxGraphicsBuffer8.cxx b/panda/src/dxgsg8/wdxGraphicsBuffer8.cxx index e9160c59e2..47e24f8dc2 100644 --- a/panda/src/dxgsg8/wdxGraphicsBuffer8.cxx +++ b/panda/src/dxgsg8/wdxGraphicsBuffer8.cxx @@ -523,11 +523,14 @@ open_buffer() { // GSG creation/initialization. if (_gsg == 0) { - _dxgsg = new DXGraphicsStateGuardian8(_engine, _pipe); - _gsg = _dxgsg; - } else { - DCAST_INTO_R(_dxgsg, _gsg, false); + // The code below doesn't support creating a GSG on the fly. + // Just error out for now. + //_dxgsg = new DXGraphicsStateGuardian8(_engine, _pipe); + //_gsg = _dxgsg; + return false; } + + DCAST_INTO_R(_dxgsg, _gsg, false); if (!save_bitplanes()) { return false; diff --git a/panda/src/dxgsg9/wdxGraphicsBuffer9.cxx b/panda/src/dxgsg9/wdxGraphicsBuffer9.cxx index 2a3238b697..8af0b9da4d 100644 --- a/panda/src/dxgsg9/wdxGraphicsBuffer9.cxx +++ b/panda/src/dxgsg9/wdxGraphicsBuffer9.cxx @@ -745,11 +745,14 @@ open_buffer() { // GSG creation/initialization. if (_gsg == 0) { - _dxgsg = new DXGraphicsStateGuardian9(_engine, _pipe); - _gsg = _dxgsg; - } else { - DCAST_INTO_R(_dxgsg, _gsg, false); + // The code below doesn't support creating a GSG on the fly. + // Just error out for now. + //_dxgsg = new DXGraphicsStateGuardian9(_engine, _pipe); + //_gsg = _dxgsg; + return false; } + + DCAST_INTO_R(_dxgsg, _gsg, false); if (!save_bitplanes()) { return false;