diff options
author | Kevin Ottens <kevin.ottens@kdab.com> | 2014-10-15 11:20:02 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-10-15 19:37:49 +0200 |
commit | 0f1d0ff5b3adb16afcda091e4ff4657f53581f79 (patch) | |
tree | bc82ff1bd2f31fe5fa54590ab3f1500d716b07eb /src/render/frontend/qrendertarget.cpp | |
parent | a4b9ce44ae244104a941981405742ee42d53ebe0 (diff) |
Hide doClone implementations behind a macro
This way we will avoid inconsistencies. It also means making some of the
copy() implementations more clever.
Change-Id: Ic79c9ec7c9c32f8951d5d9f5184592880bf8d5fd
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend/qrendertarget.cpp')
-rw-r--r-- | src/render/frontend/qrendertarget.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/render/frontend/qrendertarget.cpp b/src/render/frontend/qrendertarget.cpp index 604335405..ecf51bb36 100644 --- a/src/render/frontend/qrendertarget.cpp +++ b/src/render/frontend/qrendertarget.cpp @@ -56,6 +56,9 @@ QRenderTargetPrivate::QRenderTargetPrivate(QRenderTarget *qq) void QRenderTargetPrivate::copy(const QNodePrivate *ref) { QNodePrivate::copy(ref); + const QRenderTargetPrivate *other = static_cast<const QRenderTargetPrivate*>(ref); + Q_FOREACH (QRenderAttachment *attachment, other->m_attachments) + q_func()->addAttachment(qobject_cast<QRenderAttachment *>(QNodePrivate::get(attachment)->clone())); } QRenderTarget::QRenderTarget(QNode *parent) @@ -105,19 +108,6 @@ QList<QRenderAttachment *> QRenderTarget::attachments() const return d->m_attachments; } -QRenderTarget *QRenderTarget::doClone() const -{ - Q_D(const QRenderTarget); - QRenderTarget *clone = new QRenderTarget(); - - clone->d_func()->copy(d_func()); - - Q_FOREACH (QRenderAttachment *attachment, d->m_attachments) - clone->addAttachment(qobject_cast<QRenderAttachment *>(QNodePrivate::get(attachment)->clone())); - - return clone; -} - } // Qt3D QT_END_NAMESPACE |