diff --git a/src/osgEarthProcedural/ImGui/TerrainEditGUI b/src/osgEarthProcedural/ImGui/TerrainEditGUI index cef111bdef..9e3761d0d5 100644 --- a/src/osgEarthProcedural/ImGui/TerrainEditGUI +++ b/src/osgEarthProcedural/ImGui/TerrainEditGUI @@ -138,7 +138,7 @@ namespace osgEarth osg::ref_ptr& out_landcover, GeoExtent& out_extent) { - osg::ref_ptr feature = osg::clone(in_feature, osg::CopyOp::DEEP_COPY_ALL); + osg::ref_ptr feature = new Feature(*in_feature); GeoPoint center = feature->getExtent().getCentroid(); center = center.toLocalTangentPlane(); feature->transform(center.getSRS()); diff --git a/src/osgEarthProcedural/RoadSurfaceLayer.cpp b/src/osgEarthProcedural/RoadSurfaceLayer.cpp index c526709f12..1f471e7031 100644 --- a/src/osgEarthProcedural/RoadSurfaceLayer.cpp +++ b/src/osgEarthProcedural/RoadSurfaceLayer.cpp @@ -519,7 +519,8 @@ RoadSurfaceLayer::getFeatures( // Clone features onto the end of the output list. // We must always clone since osgEarth modifies the feature data + // TODO: check whether this is actually true for (auto& f : sublist) - output.push_back(osg::clone(f.get(), osg::CopyOp::DEEP_COPY_ALL)); + output.push_back(new Feature(*f)); } } \ No newline at end of file diff --git a/src/osgEarthSplat/RoadSurfaceLayer.cpp b/src/osgEarthSplat/RoadSurfaceLayer.cpp index bfd3536605..f575ea59dc 100644 --- a/src/osgEarthSplat/RoadSurfaceLayer.cpp +++ b/src/osgEarthSplat/RoadSurfaceLayer.cpp @@ -518,7 +518,8 @@ RoadSurfaceLayer::getFeatures( // Clone features onto the end of the output list. // We must always clone since osgEarth modifies the feature data + // TODO: check whether this is true for (auto& f : sublist) - output.push_back(osg::clone(f.get(), osg::CopyOp::DEEP_COPY_ALL)); + output.push_back(new Feature(*f)); } } \ No newline at end of file