mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-09 05:27:41 +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());
|
||||
|
||||
if (pkMimeData)
|
||||
mpMimeData = new CNodeCopyMimeData(*pkMimeData);
|
||||
else
|
||||
mpMimeData = nullptr;
|
||||
mpMimeData = std::make_unique<CNodeCopyMimeData>(*pkMimeData);
|
||||
}
|
||||
|
||||
CPasteNodesCommand::~CPasteNodesCommand()
|
||||
{
|
||||
if (mpMimeData) delete mpMimeData;
|
||||
}
|
||||
CPasteNodesCommand::~CPasteNodesCommand() = default;
|
||||
|
||||
void CPasteNodesCommand::undo()
|
||||
{
|
||||
|
||||
@@ -6,13 +6,14 @@
|
||||
#include "Editor/CNodeCopyMimeData.h"
|
||||
#include "Editor/WorldEditor/CWorldEditor.h"
|
||||
#include <QClipboard>
|
||||
#include <memory>
|
||||
|
||||
class CPasteNodesCommand : public IUndoCommand
|
||||
{
|
||||
CWorldEditor *mpEditor;
|
||||
CScriptLayer *mpLayer;
|
||||
CVector3f mPastePoint;
|
||||
CNodeCopyMimeData *mpMimeData;
|
||||
std::unique_ptr<CNodeCopyMimeData> mpMimeData;
|
||||
CNodePtrList mPastedNodes;
|
||||
CNodePtrList mOriginalSelection;
|
||||
CInstancePtrList mLinkedInstances;
|
||||
|
||||
Reference in New Issue
Block a user