diff --git a/modules/mol/base/src/impl/atom_impl.cc b/modules/mol/base/src/impl/atom_impl.cc index f355416fa95cfdfd548a27b3cdc7ef613225dd91..71b714385d071805850c189783b8c511016a34d5 100644 --- a/modules/mol/base/src/impl/atom_impl.cc +++ b/modules/mol/base/src/impl/atom_impl.cc @@ -45,12 +45,16 @@ AtomImpl::AtomImpl(const EntityImplPtr& e, res_(r), name_(n), pos_(p), + occupancy_(0.0), + b_factor_(1.0), + prop_(NULL), + is_hetatm_(false), element_(ele), - is_hetatm_(false), prim_connector_(), connector_list_(), fragment_(), state_(0), + index_(index) { EntityHandle ent = this->GetEntity(); @@ -206,6 +210,10 @@ void AtomImpl::UpdateFromXCS() } AtomImpl::~AtomImpl() { + if (prop_ && !prop_->is_default) { + delete prop_; + prop_=NULL; + } } EntityImplPtr AtomImpl::GetEntity() const diff --git a/modules/mol/base/src/impl/atom_impl.hh b/modules/mol/base/src/impl/atom_impl.hh index f13b729cba5c4ccfe00f98da5f340c05ef96dbf1..589432ca9041c600d0fba6ec850615d97e0d6cb6 100644 --- a/modules/mol/base/src/impl/atom_impl.hh +++ b/modules/mol/base/src/impl/atom_impl.hh @@ -227,9 +227,9 @@ private: geom::Vec3 tf_pos_; Real occupancy_; Real b_factor_; - String element_; AtomProp* prop_; bool is_hetatm_; + String element_; ConnectorImplP prim_connector_; ConnectorImplList connector_list_; FragmentImplP fragment_;