From b960539e5f803b3efa8e853d35b7835de132a7d1 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Wed, 21 Oct 2020 00:47:46 -0500 Subject: [PATCH] [nostalgia/core/studio] Fix TileSheetEditor cut to use undo stack --- src/nostalgia/core/studio/tilesheeteditor.cpp | 7 ++++--- src/nostalgia/core/studio/tilesheeteditor.hpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/nostalgia/core/studio/tilesheeteditor.cpp b/src/nostalgia/core/studio/tilesheeteditor.cpp index 578fce87..efb1c102 100644 --- a/src/nostalgia/core/studio/tilesheeteditor.cpp +++ b/src/nostalgia/core/studio/tilesheeteditor.cpp @@ -618,15 +618,16 @@ void SheetData::cutToClipboard() { void SheetData::cutToClipboard(TileSheetClipboard *cb) { const auto start = ptToIdx(cb->point1(), m_columns); const auto end = ptToIdx(cb->point2(), m_columns); + TileSheetClipboard apply; for (int i = start; i <= end; ++i) { const auto s = m_pixelSelected[i]; if (s) { cb->add(i, m_pixels[i]); - m_pixels[i] = 0; + apply.add(i, 0); } } - emit pixelsChanged(); - emit changeOccurred(); + apply.setPoints(cb->point1(), cb->point2()); + m_cmdStack->push(new PasteClipboardCommand(this, *cb, apply)); } void SheetData::copyToClipboard() { diff --git a/src/nostalgia/core/studio/tilesheeteditor.hpp b/src/nostalgia/core/studio/tilesheeteditor.hpp index aefbf914..9a09d9a8 100644 --- a/src/nostalgia/core/studio/tilesheeteditor.hpp +++ b/src/nostalgia/core/studio/tilesheeteditor.hpp @@ -72,8 +72,8 @@ struct TileSheetClipboard { friend ox::Error model(T*, TileSheetClipboard*); protected: - ox::Vector m_chunks; - ox::Vector m_pixels; + std::vector m_chunks; + std::vector m_pixels; common::Point m_p1; common::Point m_p2;