summaryrefslogtreecommitdiffstats
path: root/src/render/texture/qabstracttexture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/texture/qabstracttexture.cpp')
-rw-r--r--src/render/texture/qabstracttexture.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/texture/qabstracttexture.cpp b/src/render/texture/qabstracttexture.cpp
index 36ee6851f..b62424eb9 100644
--- a/src/render/texture/qabstracttexture.cpp
+++ b/src/render/texture/qabstracttexture.cpp
@@ -273,6 +273,8 @@ void QAbstractTexture::addTextureImage(QAbstractTextureImage *textureImage)
if (!d->m_textureImages.contains(textureImage)) {
d->m_textureImages.append(textureImage);
+ // Ensures proper bookkeeping
+ d->registerDestructionHelper(textureImage, &QAbstractTexture::removeTextureImage, d->m_textureImages);
if (textureImage->parent() && textureImage->parent() != this)
qWarning() << "A QAbstractTextureImage was shared, expect a crash, undefined behavior at best";
@@ -304,6 +306,8 @@ void QAbstractTexture::removeTextureImage(QAbstractTextureImage *textureImage)
d->notifyObservers(change);
}
d->m_textureImages.removeOne(textureImage);
+ // Remove bookkeeping connection
+ d->unregisterDestructionHelper(textureImage);
}
/*!