diff options
Diffstat (limited to 'src/render/geometry/qbuffer.cpp')
-rw-r--r-- | src/render/geometry/qbuffer.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/render/geometry/qbuffer.cpp b/src/render/geometry/qbuffer.cpp index e0574a4c5..f27005f2b 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)->notifyPropertyChange("data", QVariant::fromValue(d->m_data)); + Qt3DCore::QNodePrivate::get(this)->update(); emit dataChanged(bytes); } } @@ -351,11 +351,8 @@ void QBuffer::updateData(int offset, const QByteArray &bytes) QBufferUpdate updateData; updateData.offset = offset; updateData.data = bytes; - - auto e = QPropertyUpdatedChangePtr::create(id()); - e->setPropertyName("updateData"); - e->setValue(QVariant::fromValue(updateData)); - notifyObservers(e); + setProperty("QT3D_updateData", QVariant::fromValue(updateData)); + d->update(); } /*! @@ -409,12 +406,7 @@ void QBuffer::setDataGenerator(const QBufferDataGeneratorPtr &functor) if (functor && d->m_functor && *functor == *d->m_functor) return; d->m_functor = functor; - if (d->m_changeArbiter != nullptr) { - auto change = QPropertyUpdatedChangePtr::create(d->m_id); - change->setPropertyName("dataGenerator"); - change->setValue(QVariant::fromValue(d->m_functor)); - d->notifyObservers(change); - } + d->update(); } /*! |