diff options
author | Aurélien Brooke <aurelien@bahiasoft.fr> | 2024-02-26 09:52:16 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-02-28 08:27:09 +0000 |
commit | 836b0f057f284fe04a82588d6658deee40601b26 (patch) | |
tree | ff66ce415765b47138e69bfe1e03632f7ba68843 | |
parent | 96f5d91b05fd91de9ae09ce194bf0d95c6a5bd0e (diff) |
Fix crash in QPaintedTextureImage when never calling repaint()
When creating a QPaintedTextureImage without calling repaint() nor
resizing, Qt 3D crashes because there is not generator created.
Even though it is not a normal use case, avoid crashing, by creating an
empty generator in the constructor.
Fixes: QTBUG-122613
Pick-to: 6.6
Change-Id: Iac5abd7d728330c5fa28e3de49a1e7ff261ace3f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit b1767913a2f8b1e366ff426f74380fbc06f92b7a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/render/texture/qpaintedtextureimage.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/texture/qpaintedtextureimage.cpp b/src/render/texture/qpaintedtextureimage.cpp index a26183428..631bc5aec 100644 --- a/src/render/texture/qpaintedtextureimage.cpp +++ b/src/render/texture/qpaintedtextureimage.cpp @@ -66,6 +66,9 @@ void QPaintedTextureImagePrivate::repaint() QPaintedTextureImage::QPaintedTextureImage(Qt3DCore::QNode *parent) : QAbstractTextureImage(*new QPaintedTextureImagePrivate, parent) { + Q_D(QPaintedTextureImage); + + d->m_currentGenerator = QSharedPointer<QPaintedTextureImageDataGenerator>::create(QImage{}, 0, id()); } QPaintedTextureImage::~QPaintedTextureImage() |