summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2019-10-15 16:42:19 +0200
committerPaul Lemire <paul.lemire@kdab.com>2019-10-17 12:04:16 +0200
commitaee3dbc8b8f90b76d18ccc833b36dfb787c0bdc5 (patch)
tree2d481f39500573f55ddf82c98f0a9d12ccd59230 /src
parentb71e3b7b5c29a3528e421bd680d126679e348221 (diff)
Buffer: mark as dirty even if empty on firstTime
We otherwise assert in the case we create an empty buffer that is empty but referenced by Attributes. This is still a valid case as buffer data can be set later on. Change-Id: Ida198f5815f6cbb488b6b27436c4238146c3ae39 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/geometry/buffer.cpp4
-rw-r--r--src/render/geometry/qbuffer.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp
index 998db3640..0ce81efc1 100644
--- a/src/render/geometry/buffer.cpp
+++ b/src/render/geometry/buffer.cpp
@@ -130,8 +130,10 @@ void Buffer::syncFromFrontEnd(const QNode *frontEnd, bool firstTime)
if (!node)
return;
- if (firstTime && m_manager != nullptr)
+ if (firstTime && m_manager != nullptr) {
m_manager->addBufferReference(peerId());
+ m_bufferDirty = true;
+ }
m_syncData = node->isSyncData();
m_access = node->accessType();
diff --git a/src/render/geometry/qbuffer.cpp b/src/render/geometry/qbuffer.cpp
index f27005f2b..d27da25c7 100644
--- a/src/render/geometry/qbuffer.cpp
+++ b/src/render/geometry/qbuffer.cpp
@@ -329,7 +329,7 @@ void QBuffer::setData(const QByteArray &bytes)
Q_D(QBuffer);
if (bytes != d->m_data) {
d->m_data = bytes;
- Qt3DCore::QNodePrivate::get(this)->update();
+ d->update();
emit dataChanged(bytes);
}
}