mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-10 14:07:56 +00:00
CPasteNodesCommand: Make use of unique_ptr
Same behavior, but simplified allocation handling.
This commit is contained in:
@@ -10,15 +10,10 @@ CPasteNodesCommand::CPasteNodesCommand(CWorldEditor *pEditor, CScriptLayer *pLay
|
|||||||
const CNodeCopyMimeData *pkMimeData = qobject_cast<const CNodeCopyMimeData*>(qApp->clipboard()->mimeData());
|
const CNodeCopyMimeData *pkMimeData = qobject_cast<const CNodeCopyMimeData*>(qApp->clipboard()->mimeData());
|
||||||
|
|
||||||
if (pkMimeData)
|
if (pkMimeData)
|
||||||
mpMimeData = new CNodeCopyMimeData(*pkMimeData);
|
mpMimeData = std::make_unique<CNodeCopyMimeData>(*pkMimeData);
|
||||||
else
|
|
||||||
mpMimeData = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CPasteNodesCommand::~CPasteNodesCommand()
|
CPasteNodesCommand::~CPasteNodesCommand() = default;
|
||||||
{
|
|
||||||
if (mpMimeData) delete mpMimeData;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CPasteNodesCommand::undo()
|
void CPasteNodesCommand::undo()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,13 +6,14 @@
|
|||||||
#include "Editor/CNodeCopyMimeData.h"
|
#include "Editor/CNodeCopyMimeData.h"
|
||||||
#include "Editor/WorldEditor/CWorldEditor.h"
|
#include "Editor/WorldEditor/CWorldEditor.h"
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
class CPasteNodesCommand : public IUndoCommand
|
class CPasteNodesCommand : public IUndoCommand
|
||||||
{
|
{
|
||||||
CWorldEditor *mpEditor;
|
CWorldEditor *mpEditor;
|
||||||
CScriptLayer *mpLayer;
|
CScriptLayer *mpLayer;
|
||||||
CVector3f mPastePoint;
|
CVector3f mPastePoint;
|
||||||
CNodeCopyMimeData *mpMimeData;
|
std::unique_ptr<CNodeCopyMimeData> mpMimeData;
|
||||||
CNodePtrList mPastedNodes;
|
CNodePtrList mPastedNodes;
|
||||||
CNodePtrList mOriginalSelection;
|
CNodePtrList mOriginalSelection;
|
||||||
CInstancePtrList mLinkedInstances;
|
CInstancePtrList mLinkedInstances;
|
||||||
|
|||||||
Reference in New Issue
Block a user