mirror of
https://github.com/aseprite/aseprite.git
synced 2024-10-03 21:46:20 +00:00
Delete temporal tags created in the CLI processor
When a DocumentExporter is used to export a specific range of frames from the CLI processor, a temporal frame tag is created, we've to delete that tag when the DocumentExporter is destroyed.
This commit is contained in:
parent
9a0035e2a7
commit
67bbb22410
@ -307,6 +307,8 @@ bool CliProcessor::openFile(CliOpenFile& cof)
|
||||
// Add document to exporter
|
||||
if (m_exporter) {
|
||||
FrameTag* frameTag = nullptr;
|
||||
bool isTemporalTag = false;
|
||||
|
||||
if (!cof.frameTagName.empty()) {
|
||||
frameTag = doc->sprite()->frameTags().getByName(cof.frameTagName);
|
||||
}
|
||||
@ -320,6 +322,7 @@ bool CliProcessor::openFile(CliOpenFile& cof)
|
||||
|
||||
frameTag = new FrameTag(base::convert_to<frame_t>(splitRange[0]),
|
||||
base::convert_to<frame_t>(splitRange[1]));
|
||||
isTemporalTag = true;
|
||||
}
|
||||
|
||||
if (!cof.importLayer.empty()) {
|
||||
@ -331,16 +334,16 @@ bool CliProcessor::openFile(CliOpenFile& cof)
|
||||
}
|
||||
}
|
||||
if (foundLayer)
|
||||
m_exporter->addDocument(doc, foundLayer, frameTag);
|
||||
m_exporter->addDocument(doc, foundLayer, frameTag, isTemporalTag);
|
||||
}
|
||||
else if (cof.splitLayers) {
|
||||
for (auto layer : doc->sprite()->layers()) {
|
||||
if (layer->isVisible())
|
||||
m_exporter->addDocument(doc, layer, frameTag);
|
||||
m_exporter->addDocument(doc, layer, frameTag, isTemporalTag);
|
||||
}
|
||||
}
|
||||
else {
|
||||
m_exporter->addDocument(doc, nullptr, frameTag);
|
||||
m_exporter->addDocument(doc, nullptr, frameTag, isTemporalTag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -354,6 +354,14 @@ DocumentExporter::DocumentExporter()
|
||||
{
|
||||
}
|
||||
|
||||
DocumentExporter::~DocumentExporter()
|
||||
{
|
||||
for (auto& item : m_documents) {
|
||||
if (item.temporalTag)
|
||||
delete item.frameTag;
|
||||
}
|
||||
}
|
||||
|
||||
Document* DocumentExporter::exportSheet()
|
||||
{
|
||||
// We output the metadata to std::cout if the user didn't specify a file.
|
||||
|
@ -36,6 +36,7 @@ namespace app {
|
||||
};
|
||||
|
||||
DocumentExporter();
|
||||
~DocumentExporter();
|
||||
|
||||
DataFormat dataFormat() const { return m_dataFormat; }
|
||||
const std::string& dataFilename() { return m_dataFilename; }
|
||||
|
Loading…
Reference in New Issue
Block a user