diff --git a/deflect/qt/QuickRenderer.cpp b/deflect/qt/QuickRenderer.cpp index 6cc3d69..63a48ec 100644 --- a/deflect/qt/QuickRenderer.cpp +++ b/deflect/qt/QuickRenderer.cpp @@ -226,6 +226,8 @@ void QuickRenderer::_onStop() if (_context) _context->makeCurrent(_getSurface()); + emit stopping(); + _renderControl.invalidate(); _fbo.reset(); diff --git a/deflect/qt/QuickRenderer.h b/deflect/qt/QuickRenderer.h index e3bb554..4a3d265 100644 --- a/deflect/qt/QuickRenderer.h +++ b/deflect/qt/QuickRenderer.h @@ -135,6 +135,12 @@ class QuickRenderer : public QObject */ void afterRender(); + /** + * Emitted from the render thread during stop(). Can be used to do some last + * cleanup operations while the GL context is bound. + */ + void stopping(); + private: QQuickWindow& _quickWindow; QQuickRenderControl& _renderControl; diff --git a/doc/Changelog.md b/doc/Changelog.md index d313154..110e80c 100644 --- a/doc/Changelog.md +++ b/doc/Changelog.md @@ -5,6 +5,8 @@ Changelog {#Changelog} ### 0.14.0 (git master) +* [179](https://github.com/BlueBrain/Deflect/pull/179): + Added stopping() signal to qt::QuickRenderer for GL cleanup operations. * [177](https://github.com/BlueBrain/Deflect/pull/177): Improve stream error handling * Catch errors regarding invalid JPEG quality values