From 19b49efa2c2333850000670f47767a0e75756693 Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Mon, 1 Nov 2010 15:03:13 +0100
Subject: [PATCH] properly initialise AtomImpl properties

---
 modules/mol/base/src/impl/atom_impl.cc | 10 +++++++++-
 modules/mol/base/src/impl/atom_impl.hh |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/modules/mol/base/src/impl/atom_impl.cc b/modules/mol/base/src/impl/atom_impl.cc
index f355416fa..71b714385 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 f13b729cb..589432ca9 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_;
-- 
GitLab