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;