From c1f03b36508a0bdbda29c8d487b63aea284a3202 Mon Sep 17 00:00:00 2001 From: Josh Yelon Date: Wed, 7 Jun 2006 21:16:37 +0000 Subject: [PATCH] Fixed a few more gsg==NULL bugs --- panda/src/display/graphicsBuffer.cxx | 5 +---- panda/src/display/graphicsWindow.cxx | 1 + panda/src/wgldisplay/wglGraphicsBuffer.cxx | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/panda/src/display/graphicsBuffer.cxx b/panda/src/display/graphicsBuffer.cxx index 381f6b4bc0..0c03a13b98 100644 --- a/panda/src/display/graphicsBuffer.cxx +++ b/panda/src/display/graphicsBuffer.cxx @@ -36,8 +36,6 @@ GraphicsBuffer(GraphicsPipe *pipe, GraphicsOutput *host) : GraphicsOutput(pipe, name, properties, x_size, y_size, flags, gsg, host) { - nassertv(gsg != (GraphicsStateGuardian *)NULL); - #ifdef DO_MEMORY_USAGE MemoryUsage::update_type(this, this); #endif @@ -49,8 +47,6 @@ GraphicsBuffer(GraphicsPipe *pipe, _default_display_region->compute_pixels(_x_size, _y_size); _open_request = OR_none; - - set_inverted(gsg->get_copy_texture_inverted()); } //////////////////////////////////////////////////////////////////// @@ -124,6 +120,7 @@ process_events() { case OR_open: open_buffer(); + set_inverted(_gsg->get_copy_texture_inverted()); break; case OR_close: diff --git a/panda/src/display/graphicsWindow.cxx b/panda/src/display/graphicsWindow.cxx index 40fd055661..078a6d7001 100644 --- a/panda/src/display/graphicsWindow.cxx +++ b/panda/src/display/graphicsWindow.cxx @@ -554,6 +554,7 @@ set_properties_now(WindowProperties &properties) { // When the window is first opened, force its size to be // broadcast to its display regions. _is_valid = true; + set_inverted(_gsg->get_copy_texture_inverted()); set_size_and_recalc(_properties.get_x_size(), _properties.get_y_size()); } else { diff --git a/panda/src/wgldisplay/wglGraphicsBuffer.cxx b/panda/src/wgldisplay/wglGraphicsBuffer.cxx index e227053f2c..b8bb36a6ab 100644 --- a/panda/src/wgldisplay/wglGraphicsBuffer.cxx +++ b/panda/src/wgldisplay/wglGraphicsBuffer.cxx @@ -352,6 +352,10 @@ open_buffer() { //////////////////////////////////////////////////////////////////// void wglGraphicsBuffer:: release_pbuffer() { + if (_gsg == 0) { + return; + } + wglGraphicsStateGuardian *wglgsg; DCAST_INTO_V(wglgsg, _gsg);