diff options
author | Vladimir Belyavsky <belyavskyv@gmail.com> | 2023-09-07 13:51:46 +0300 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-09-08 09:33:24 +0000 |
commit | 4aec33b6bd167f6d71cf51c7230892f07e55cf47 (patch) | |
tree | bb3303d191c98e26e447256e8f1f0f21cc8200e2 | |
parent | da48fc544f3baff48aee486dd396d9102eefae23 (diff) |
QSGVideoMaterial: fix potential crash on nullptr access
It seems QVideoTextureHelper::createTextures() may return nullptr
under some circumstances (still not clear why and seems like one
more issue), so we need to check it explicitly to prevent crash when
accessing nullptr.
Fixes: QTBUG-116533
Change-Id: I9ea725885e17a9a954fa189ea5dd2a54463140ae
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f2c3e825c824661ee32d60bc7a078956c0375026)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/multimediaquick/qsgvideonode_p.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/multimediaquick/qsgvideonode_p.cpp b/src/multimediaquick/qsgvideonode_p.cpp index 92aeaf465..8d432c7ff 100644 --- a/src/multimediaquick/qsgvideonode_p.cpp +++ b/src/multimediaquick/qsgvideonode_p.cpp @@ -124,6 +124,9 @@ void QSGVideoMaterial::updateTextures(QRhi *rhi, QRhiResourceUpdateBatch *resour // update and upload all textures m_videoFrameTextures = QVideoTextureHelper::createTextures(m_currentFrame, rhi, resourceUpdates, std::move(m_videoFrameTextures)); + if (!m_videoFrameTextures) + return; + for (int plane = 0; plane < 3; ++plane) m_textures[plane].setRhiTexture(m_videoFrameTextures->texture(plane)); m_texturesDirty = false; |