diff --git a/src/common/filterparameter.cpp b/src/common/filterparameter.cpp index f99579ef6..40b6050e7 100644 --- a/src/common/filterparameter.cpp +++ b/src/common/filterparameter.cpp @@ -101,7 +101,8 @@ QList RichParameterSet::getFloatList(QString name) const { return find RichParameterSet& RichParameterSet::operator=( const RichParameterSet& rps ) { - return copy(rps); + copy(rps); + return *this; } bool RichParameterSet::operator==( const RichParameterSet& rps ) @@ -132,13 +133,15 @@ RichParameterSet::~RichParameterSet() RichParameterSet& RichParameterSet::copy( const RichParameterSet& rps ) { - clear(); + if (this != &rps) { + clear(); - RichParameterCopyConstructor copyvisitor; - for(int ii = 0;ii < rps.paramList.size();++ii) - { - rps.paramList.at(ii)->accept(copyvisitor); - paramList.push_back(copyvisitor.lastCreated); + RichParameterCopyConstructor copyvisitor; + for(int ii = 0;ii < rps.paramList.size();++ii) + { + rps.paramList.at(ii)->accept(copyvisitor); + paramList.push_back(copyvisitor.lastCreated); + } } return (*this); }