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.
Attachments
For Gerrit Dashboard: QTBUG-97589 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
467113,2 | SceneGraph: Don't let QSGRenderNode::m_matrix be a dangling pointer | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |