core: Peaks generated by Predictor are stored on the heap, possible memory leak
From Predictor.cpp
std::vector<Peak3D*> peaks;
for (const auto& [hkl, event] : events) {
Peak3D* peak(new Peak3D(data, hkl)); // here
Eigen::Vector3d center = {event.px, event.py, event.frame};
// setShape may disable the peak if the centre is out of bounds
peak->setShape(Ellipsoid(center, 1.0));
if (peak->selected()) {
peak->setUnitCell(unit_cell);
peaks.push_back(peak);
}
}
Prefer smart pointers instead, see PeakFinder
for implementation.