Jelajahi Sumber

prevent crash with window-type offscreen

David Rose 17 tahun lalu
induk
melakukan
babf0163e5

+ 7 - 4
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;

+ 7 - 4
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;