diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-08-06 11:52:27 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-08-07 14:32:06 +0000 |
commit | af22d66fcfbb80f1cc4e42948aca29613443f44a (patch) | |
tree | 7093de893e8466155fbde69311a1cc42ea960cd4 /src | |
parent | 8e6652961adffb888602774c679ee756737a8b40 (diff) |
Update RenderBuffer/QBuffer unit tests
Change-Id: Iadb91977da8927544bd3b90ee512128367d70b84
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/render/backend/renderbuffer.cpp | 7 | ||||
-rw-r--r-- | src/render/backend/renderbuffer_p.h | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/render/backend/renderbuffer.cpp b/src/render/backend/renderbuffer.cpp index 7fd576290..423255786 100644 --- a/src/render/backend/renderbuffer.cpp +++ b/src/render/backend/renderbuffer.cpp @@ -64,6 +64,7 @@ void RenderBuffer::cleanup() m_type = QBuffer::VertexBuffer; m_usage = QBuffer::StaticDraw; m_data.clear(); + m_functor.reset(); m_bufferDirty = false; } @@ -87,7 +88,7 @@ void RenderBuffer::updateFromPeer(QNode *peer) m_data = buffer->data(); m_functor = buffer->bufferFunctor(); // Add to dirty list in the manager - if (m_functor) + if (m_functor && m_manager != Q_NULLPTR) m_manager->addDirtyBuffer(peerUuid()); m_bufferDirty = true; } @@ -110,9 +111,9 @@ void RenderBuffer::sceneChangeEvent(const QSceneChangePtr &e) m_bufferDirty = true; } else if (propertyName == QByteArrayLiteral("bufferFunctor")) { QBufferFunctorPtr newFunctor = propertyChange->value().value<QBufferFunctorPtr>(); - m_bufferDirty |= !(*newFunctor == *m_functor); + m_bufferDirty |= !(newFunctor && m_functor && *newFunctor == *m_functor); m_functor = newFunctor; - if (m_functor) + if (m_functor && m_manager != Q_NULLPTR) m_manager->addDirtyBuffer(peerUuid()); } } diff --git a/src/render/backend/renderbuffer_p.h b/src/render/backend/renderbuffer_p.h index d71548e18..698ad8084 100644 --- a/src/render/backend/renderbuffer_p.h +++ b/src/render/backend/renderbuffer_p.h @@ -66,6 +66,7 @@ public: inline QBuffer::UsageType usage() const { return m_usage; } inline QByteArray data() const { return m_data; } inline bool isDirty() const { return m_bufferDirty; } + inline QBufferFunctorPtr bufferFunctor() const { return m_functor; } void unsetDirty(); private: |