fix swap of property managers

This commit is contained in:
Max Lyon
2019-11-05 10:21:09 +01:00
parent 6e81f6c2db
commit 794b49976b

View File

@@ -252,10 +252,8 @@ class PropertyManager {
} }
void swap(PropertyManager &rhs) { void swap(PropertyManager &rhs) {
std::swap(mesh_, rhs.mesh_); // swap the data stored in the properties
std::swap(prop_, rhs.prop_); Storage::swap(rhs, *this);
std::swap(retain_, rhs.retain_);
std::swap(name_, rhs.name_);
} }
static bool propertyExists(PolyConnectivity &mesh, const char *propname) { static bool propertyExists(PolyConnectivity &mesh, const char *propname) {
@@ -316,7 +314,7 @@ class PropertyManager {
} }
else else
{ {
// switch the data stored in the properties // swap the data stored in the properties
Storage::swap(rhs, *this); Storage::swap(rhs, *this);
// remove the property from rhs // remove the property from rhs
rhs.mesh_.remove_property(rhs.prop_); rhs.mesh_.remove_property(rhs.prop_);