diff --git a/Core/Fitting/SimDataPair.cpp b/Core/Fitting/SimDataPair.cpp index b64921bfb10f3da0e4d8419e4263825b81dc8120..e48f11a72b321d2d27bbefa0d95795dd471763cb 100644 --- a/Core/Fitting/SimDataPair.cpp +++ b/Core/Fitting/SimDataPair.cpp @@ -54,7 +54,8 @@ std::unique_ptr<ICoordSystem> createConverter(const ISimulation& simulation) return gisas->instrument().createScatteringCoords(); if (auto spec = dynamic_cast<const SpecularSimulation*>(&simulation)) - return {CoordSystem1D::createCoordSystem(*spec->dataHandler())}; + return std::unique_ptr<ICoordSystem>( + CoordSystem1D::createCoordSystem(*spec->dataHandler())); if (auto probe = dynamic_cast<const DepthProbeSimulation*>(&simulation)) return probe->createCoordSystem(); diff --git a/Core/Scan/CoordSystem1D.cpp b/Core/Scan/CoordSystem1D.cpp index b7a2ec47487308d0c4e063f056718668b2882875..8f6615324669c1c628b1af444cbd5dafd499a03a 100644 --- a/Core/Scan/CoordSystem1D.cpp +++ b/Core/Scan/CoordSystem1D.cpp @@ -137,12 +137,11 @@ CoordSystem1D::createConvertedData(const OutputData<double>& data, Axes::Coords CoordSystem1D* CoordSystem1D::createCoordSystem(const ISpecularScan& scan) { if (const auto* aScan = dynamic_cast<const AngularSpecScan*>(&scan)) - return std::make_unique<AngularReflectometryCoordinates>(aScan->wavelength(), - *aScan->coordinateAxis()); + return new AngularReflectometryCoordinates(aScan->wavelength(), + *aScan->coordinateAxis()); if (const auto* qScan = dynamic_cast<const QSpecScan*>(&scan)) - return std::make_unique<WavenumberReflectometryCoordinates>( - qScan->coordinateAxis()->clone()); + return new WavenumberReflectometryCoordinates(qScan->coordinateAxis()->clone()); throw std::runtime_error("Bug in CoordSystem1D::createCoordSystem: invalid case"); }