Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.2.0
-
None
-
02e9a6b32 (dev)
Description
Calling `QSGrenderNode::matrix` in `render()` returns a dangling pointer.
QSGRenderNode::m_matrix is assigned to a local stack variable in function `Renderer::prepareRhiRenderNode` (qsgbatchrender.cpp), but render() is called in `Renderer::renderRhiRenderNode`, so m_matrix now points to invalid stack space.
Besides, Imho there really is no valid reason why matrix() returns a pointer. Comes Qt7, that should just return a QMatrix4x4 so this doesn't happen again. Maybe adding a new method returning QMatrix4x4 should be considered.