effects: Prevent OffscreenQuickView crashing on teardown

QQuickRenderControl::sceneChanged can emitted when shutting down, which
will cause a crash.
This commit is contained in:
Vlad Zahorodnii 2023-02-25 22:42:23 +02:00
parent 9aeb33f0a4
commit 1ea2338917

View file

@ -190,6 +190,9 @@ OffscreenQuickView::OffscreenQuickView(QObject *parent, QWindow *renderWindow, E
OffscreenQuickView::~OffscreenQuickView()
{
disconnect(d->m_renderControl.get(), &QQuickRenderControl::renderRequested, this, &OffscreenQuickView::handleRenderRequested);
disconnect(d->m_renderControl.get(), &QQuickRenderControl::sceneChanged, this, &OffscreenQuickView::handleSceneChanged);
if (d->m_glcontext) {
// close the view whilst we have an active GL context
d->m_glcontext->makeCurrent(d->m_offscreenSurface.get());