diff --git a/src/Mod/Sketcher/App/GeoList.cpp b/src/Mod/Sketcher/App/GeoList.cpp index b9a6e20caf..01a97c7ef6 100644 --- a/src/Mod/Sketcher/App/GeoList.cpp +++ b/src/Mod/Sketcher/App/GeoList.cpp @@ -55,10 +55,9 @@ GeoListModel::GeoListModel( std::vector && geometrylist, // Vector is shallow copied (copy constructed) template GeoListModel::GeoListModel( const std::vector & geometrylist, - int intgeocount, - bool ownerT): geomlist(geometrylist), // copy constructed here + int intgeocount): geomlist(geometrylist), // copy constructed here intGeoCount(intgeocount), - OwnerT(ownerT), + OwnerT(false), indexInit(false) { @@ -80,9 +79,9 @@ GeoListModel GeoListModel::getGeoListModel(std::vector && geometrylist, } template -const GeoListModel GeoListModel::getGeoListModel(const std::vector &geometrylist, int intgeocount, bool ownerT) +const GeoListModel GeoListModel::getGeoListModel(const std::vector &geometrylist, int intgeocount) { - return GeoListModel(geometrylist, intgeocount, ownerT); + return GeoListModel(geometrylist, intgeocount); } @@ -305,8 +304,8 @@ namespace Sketcher { // Template specialisations template <> -GeoListModel>::GeoListModel( - std::vector> && geometrylist, +GeoListModel::GeoListModel( + std::vector && geometrylist, int intgeocount, bool ownerT) : geomlist(std::move(geometrylist)), intGeoCount(intgeocount), @@ -326,17 +325,15 @@ GeoListModel>::GeoListModel( } template <> -GeoListModel>::GeoListModel( - const std::vector> & geometrylist, - int intgeocount, - bool ownerT): intGeoCount(intgeocount), - OwnerT(false), - indexInit(false) +GeoListModel::GeoListModel( + const std::vector & geometrylist, + int intgeocount): intGeoCount(intgeocount), + OwnerT(false), + indexInit(false) { // GeometryFacades are movable, but not copiable, so they need to be reconstructed (shallow copy of vector) // Under the Single Responsibility Principle, these will not take over a responsibility that shall be enforced // on the original GeometryFacade. Use the move version of getGeoListModel if moving the responsibility is intended. - assert(ownerT == false); geomlist.reserve(geometrylist.size()); diff --git a/src/Mod/Sketcher/App/GeoList.h b/src/Mod/Sketcher/App/GeoList.h index 24c3732e39..9196ad7efb 100644 --- a/src/Mod/Sketcher/App/GeoList.h +++ b/src/Mod/Sketcher/App/GeoList.h @@ -84,7 +84,7 @@ protected: */ explicit GeoListModel(std::vector && geometrylist, int intgeocount, bool ownerT = false); - explicit GeoListModel(const std::vector & geometrylist, int intgeocount, bool ownerT = false); + explicit GeoListModel(const std::vector & geometrylist, int intgeocount); public: /** @brief Destructor having type dependent behaviour @@ -120,7 +120,7 @@ public: * if this happens. The ownership needs to be specified on the GeoListFacade objects themselves (setOwner method). */ static GeoListModel getGeoListModel(std::vector && geometrylist, int intgeocount, bool ownerT = false); - static const GeoListModel getGeoListModel(const std::vector & geometrylist, int intgeocount, bool ownerT = false); + static const GeoListModel getGeoListModel(const std::vector & geometrylist, int intgeocount); /** @brief