Fix memory leaks

This commit is contained in:
Maxime Gimeno 2018-12-17 12:45:12 +01:00
parent f55a8308fd
commit c0c31c97b0
2 changed files with 13 additions and 0 deletions

View File

@ -276,6 +276,11 @@ void Scene::remove_item_from_groups(Scene_item* item)
}
Scene::~Scene()
{
Q_FOREACH(QOpenGLVertexArrayObject* vao, vaos.values())
{
vao->destroy();
delete vao;
}
Q_FOREACH(CGAL::QGLViewer* viewer, CGAL::QGLViewer::QGLViewerPool())
{
removeViewer(static_cast<CGAL::Three::Viewer_interface*>(viewer));

View File

@ -361,7 +361,14 @@ Viewer::~Viewer()
.arg(d->specular.z()));
viewer_settings.setValue("spec_power",
d->spec_power);
if(d->_recentFunctions)
delete d->_recentFunctions;
if(d->painter)
delete d->painter;
if(d->textRenderer)
d->textRenderer->deleteLater();
delete d;
}
void Viewer::setScene(CGAL::Three::Scene_draw_interface* scene)
@ -1044,6 +1051,7 @@ void Viewer::drawVisualHints()
if (d->_displayMessage)
d->textRenderer->removeText(message_text);
delete message_text;
}
QOpenGLShaderProgram* Viewer::declare_program(int name,