comparison align/Align.cpp @ 773:699b5b130ea2 pitch-align

Fixes to aligner destruction sequence when re-aligning during alignment; hide debug output behind a flag
author Chris Cannam
date Mon, 01 Jun 2020 17:13:09 +0100
parents 1d6cca5a5621
children 32e66fcc4cb7
comparison
equal deleted inserted replaced
772:8280f7a363d1 773:699b5b130ea2
100 QString additionalData; 100 QString additionalData;
101 AlignmentType type = getAlignmentPreference(additionalData); 101 AlignmentType type = getAlignmentPreference(additionalData);
102 102
103 std::shared_ptr<Aligner> aligner; 103 std::shared_ptr<Aligner> aligner;
104 104
105 if (m_aligners.find(toAlign) != m_aligners.end()) {
106 // We don't want a callback on removeAligner to happen during
107 // our own call to addAligner! Disconnect and delete the old
108 // aligner first
109 disconnect(m_aligners[toAlign].get(), nullptr, this, nullptr);
110 m_aligners.erase(toAlign);
111 }
112
105 { 113 {
106 // Replace the aligner with a new one. This also stops any 114 // Replace the aligner with a new one. This also stops any
107 // previously-running alignment, when the old entry is 115 // previously-running alignment, when the old entry is
108 // replaced and its aligner destroyed. 116 // replaced and its aligner destroyed.
109 117