diff --git a/Alpha_shapes_3/demo/Alpha_shapes_3/Viewer.h b/Alpha_shapes_3/demo/Alpha_shapes_3/Viewer.h index ff19159d837..289ae385c1e 100644 --- a/Alpha_shapes_3/demo/Alpha_shapes_3/Viewer.h +++ b/Alpha_shapes_3/demo/Alpha_shapes_3/Viewer.h @@ -21,6 +21,7 @@ public: Viewer(QWidget* parent); ~Viewer() { + makeCurrent(); buffers[0].destroy(); buffers[1].destroy(); buffers[2].destroy(); diff --git a/Circular_kernel_3/demo/Circular_kernel_3/Viewer.cpp b/Circular_kernel_3/demo/Circular_kernel_3/Viewer.cpp index 69901dbbd1c..aa5a06c1354 100644 --- a/Circular_kernel_3/demo/Circular_kernel_3/Viewer.cpp +++ b/Circular_kernel_3/demo/Circular_kernel_3/Viewer.cpp @@ -11,6 +11,14 @@ Viewer::Viewer(QWidget* parent ) { extension_is_found = false; } +Viewer::~Viewer() +{ + makeCurrent(); + for(int i=0; i<3; ++i) + vao[i].destroy(); + for(int i=0; i<9; ++i) + buffers[i].destroy(); +} void Viewer::compile_shaders() { diff --git a/Circular_kernel_3/demo/Circular_kernel_3/Viewer.h b/Circular_kernel_3/demo/Circular_kernel_3/Viewer.h index ea178e756a0..cad037ce2c8 100644 --- a/Circular_kernel_3/demo/Circular_kernel_3/Viewer.h +++ b/Circular_kernel_3/demo/Circular_kernel_3/Viewer.h @@ -13,6 +13,7 @@ class Viewer : public CGAL::QGLViewer { public: Viewer(QWidget* parent = 0); + ~Viewer(); GLuint dl_nb; protected : virtual void draw(); diff --git a/Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/Scene.h b/Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/Scene.h index 41d4311ebe8..32f3926c802 100644 --- a/Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/Scene.h +++ b/Periodic_3_triangulation_3/demo/Periodic_3_triangulation_3/Scene.h @@ -76,6 +76,7 @@ public: } ~Scene() { + ui->viewer->makeCurrent(); for(int i=0; i<24; i++) buffers[i].destroy(); for(int i=0; i<12; i++) diff --git a/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Viewer.h b/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Viewer.h index 1ea4397cf4c..7ba3534a6d2 100644 --- a/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Viewer.h +++ b/Periodic_3_triangulation_3/demo/Periodic_Lloyd_3/Viewer.h @@ -27,6 +27,7 @@ public: {} ~Viewer() { + makeCurrent(); for(int i=0; i<4; i++) { buffers[i].destroy(); diff --git a/Polyhedron/demo/Polyhedron/Viewer.cpp b/Polyhedron/demo/Polyhedron/Viewer.cpp index 95ede4b08db..67106261b3e 100644 --- a/Polyhedron/demo/Polyhedron/Viewer.cpp +++ b/Polyhedron/demo/Polyhedron/Viewer.cpp @@ -374,6 +374,7 @@ Viewer::Viewer(QWidget* parent, Viewer::~Viewer() { + makeCurrent(); QSettings viewer_settings; viewer_settings.setValue("cam_pos", QString("%1,%2,%3")