SIGN IN SIGN UP

Fix crash at exit with renderMode Inline

A View3D with renderMode: View3D.Inline allocate a QQuick3DSGRenderNode
and stores it as m_renderNode. On scene-graph teardown
cleanupNodesOnShutdown() deletes that node which leads to the
invalidateSceneGraph() slot to be called. In invalidateSceneGraph() only
m_node (the Offscreen FBO node) was cleared, so m_renderNode is left
dangling. When the render thread then emits invalidated it ends up in
onReleaseCachedResources which queries the renderer, which for Inline is
now a stale pointer. Note that Offscreen never hit this because
invalidateSceneGraph() cleared m_node.

Fixes: QTBUG-148707
Pick-to: 6.12 6.11
Change-Id: I5094469f6a68ac686f4adef4e3699a3f3f39137b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
C
Christian Strømme committed
42e309acf64a5ff5192857a45201cacff0b6bada
Parent: 38f59ae