TreeGroupCommand::~TreeGroupCommand(){
if (abort == false) {
- if (format == "sharedfile") { delete read; delete input; globaldata->ginput = NULL;}
+ if (format == "sharedfile") { delete read; delete input; globaldata->ginput = NULL; }
else { delete readMatrix; delete matrix; delete list; }
- delete tmap;
+ delete tmap; globaldata->gTreemap = NULL;
delete validCalculator;
}
}
if ((anyLabelsToProcess(lookup[0]->getLabel(), userLabels, "") == true) && (processedLabels.count(lastLabel) != 1)) {
+ string saveLabel = lookup[0]->getLabel();
+
for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; }
lookup = input->getSharedRAbundVectors(lastLabel);
processedLabels.insert(lookup[0]->getLabel());
userLabels.erase(lookup[0]->getLabel());
+
+ //restore real lastlabel to save below
+ lookup[0]->setLabel(saveLabel);
}
lastLabel = lookup[0]->getLabel();