summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordon bright <hugh.m.bright@gmail.com>2013-09-15 06:04:43 (GMT)
committerdon bright <hugh.m.bright@gmail.com>2013-09-15 06:04:43 (GMT)
commita36b5f740ac4af8907db9dccb3e37df0c32dc2c0 (patch)
treeeb55a1a071a5258d28672f4a0412b300e8129414 /src
parentb779d6a93b67d3b8bdc7e55e4b308d968b55f680 (diff)
fix issue with gcc 4.4.5. pointer to renderer in export_png segfaulted
worked fine in clang
Diffstat (limited to 'src')
-rw-r--r--src/export_png.cc15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/export_png.cc b/src/export_png.cc
index 744d681..6d64d65 100644
--- a/src/export_png.cc
+++ b/src/export_png.cc
@@ -70,16 +70,10 @@ void export_png_preview_common( Tree &tree, Camera &cam, std::ostream &output, P
return;
}
- Renderer *renderer;
- if ( previewer == OPENCSG ) {
#ifdef ENABLE_OPENCSG
- OpenCSGRenderer openCSGRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain, csgInfo.glview->shaderinfo);
- renderer = &openCSGRenderer;
+ OpenCSGRenderer openCSGRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain, csgInfo.glview->shaderinfo);
#endif
- } else {
- ThrownTogetherRenderer thrownTogetherRenderer( csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain );
- renderer = &thrownTogetherRenderer;
- }
+ ThrownTogetherRenderer thrownTogetherRenderer( csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain );
if (cam.type == Camera::NONE) {
cam.type = Camera::VECTOR;
@@ -94,7 +88,10 @@ void export_png_preview_common( Tree &tree, Camera &cam, std::ostream &output, P
}
csgInfo.glview->setCamera( cam );
- csgInfo.glview->setRenderer( renderer );
+ if ( previewer == OPENCSG )
+ csgInfo.glview->setRenderer( &openCSGRenderer );
+ else
+ csgInfo.glview->setRenderer( &thrownTogetherRenderer );
#ifdef ENABLE_OPENCSG
OpenCSG::setContext( 0 );
OpenCSG::setOption( OpenCSG::OffscreenSetting, OpenCSG::FrameBufferObject );
contact: Jan Huwald // Impressum