summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Brooke <aurelien@bahiasoft.fr>2024-02-26 09:52:16 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-02-28 08:27:09 +0000
commit836b0f057f284fe04a82588d6658deee40601b26 (patch)
treeff66ce415765b47138e69bfe1e03632f7ba68843
parent96f5d91b05fd91de9ae09ce194bf0d95c6a5bd0e (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.cpp3
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()