summaryrefslogtreecommitdiff
path: root/graphics/asymptote/glrender.cc
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/glrender.cc')
-rw-r--r--graphics/asymptote/glrender.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/graphics/asymptote/glrender.cc b/graphics/asymptote/glrender.cc
index d360d35a8b..c64dc26d0d 100644
--- a/graphics/asymptote/glrender.cc
+++ b/graphics/asymptote/glrender.cc
@@ -1827,6 +1827,10 @@ void init()
glutInit(&argc,argv);
fpu_trap(settings::trap());
+
+#ifdef FREEGLUT
+ glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);
+#endif
screenWidth=glutGet(GLUT_SCREEN_WIDTH);
screenHeight=glutGet(GLUT_SCREEN_HEIGHT);
#endif
@@ -2253,6 +2257,8 @@ void glrender(const string& prefix, const picture *pic, const string& format,
#endif
glutMainLoop();
+ cout << endl;
+ exitHandler(0);
#endif // HAVE_LIBGLUT
} else {
if(glthread) {
@@ -2769,7 +2775,8 @@ void drawBuffers()
drawTriangle();
if(transparent) {
- gl::copied=true;
+ if(camp::ssbo)
+ gl::copied=true;
if(interlock) resizeFragmentBuffer();
drawTransparent();
}