diff --git a/CMakeLists.txt b/CMakeLists.txt index 1556db88df8bdf325814e429c9b86e07f914fa09..7f557d7d22d17d8e841de60b0c5c7d4912385f48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,7 +152,7 @@ add_definitions(-DEIGEN2_SUPPORT) if (COMPOUND_LIB) set(_COMP_LIB "${COMPOUND_LIB}") if (NOT IS_ABSOLUTE "${COMPOUND_LIB}") - set(COMPOUND_LIB "${CMAKE_CURRENT_SOURCE_DIR}/${COMPOUND_LIB}") + set(COMPOUND_LIB "${CMAKE_CURRENT_BINARY_DIR}/${COMPOUND_LIB}") endif() else() set(_COMP_LIB "NONE") diff --git a/modules/gfx/src/gradient.cc b/modules/gfx/src/gradient.cc index c65261b16a60eb2deac7ecfcf41def8be63239f5..f1c93ffbbbfa7ff799073a49a3da5210fc688eb7 100644 --- a/modules/gfx/src/gradient.cc +++ b/modules/gfx/src/gradient.cc @@ -70,7 +70,7 @@ Color Gradient::GetColorAt(float t) const } uint c=0; - while (t>=stops_[c].t && c<stops_.size()) { + while (c<stops_.size() && t>=stops_[c].t) { ++c; } if (c==0) { diff --git a/modules/mol/base/src/impl/entity_impl.cc b/modules/mol/base/src/impl/entity_impl.cc index 4b4cb3a7a1331b60d1295f0069a782b496503b72..1fd465f235f4d05f7d29d727b4b423dc6a69d277 100644 --- a/modules/mol/base/src/impl/entity_impl.cc +++ b/modules/mol/base/src/impl/entity_impl.cc @@ -145,20 +145,7 @@ void EntityImpl::ReplicateHierarchy(EntityImplPtr dest) for (ChainImplList::const_iterator i=chain_list_.begin(), e1=chain_list_.end(); i!=e1; ++i) { ChainImplPtr src_chain=*i; - ChainImplPtr dst_chain=dest->InsertChain(src_chain,false); - // copy generic properties - dst_chain->Assign(*src_chain.get()); - for (ResidueImplList::iterator j=src_chain->GetResidueList().begin(), - e2=src_chain->GetResidueList().end(); j!=e2; ++j) { - ResidueImplPtr src_res=*j; - ResidueImplPtr dst_res=dst_chain->AppendResidue(src_res, false); - for (AtomImplList::iterator k=src_res->GetAtomList().begin(), - e3=src_res->GetAtomList().end(); k!=e3; ++k) { - AtomImplPtr src_atom=*k; - AtomImplPtr dst_atom=dst_res->InsertAtom(src_atom); - dst_atom->SetIndex(src_atom->GetIndex()); - } - } + dest->InsertChain(src_chain,true); } } diff --git a/modules/mol/base/src/impl/residue_impl.cc b/modules/mol/base/src/impl/residue_impl.cc index fd2c7762b3193caafa68d2b86af177243ceafe5d..29fee9883e5a8381eac4c12d3d75a194f007de44 100644 --- a/modules/mol/base/src/impl/residue_impl.cc +++ b/modules/mol/base/src/impl/residue_impl.cc @@ -69,7 +69,8 @@ AtomImplPtr ResidueImpl::InsertAtom(const AtomImplPtr& atom) dst_atom->SetState(atom->GetState()); dst_atom->SetBFactor(atom->GetBFactor()); dst_atom->SetOccupancy(atom->GetOccupancy()); - dst_atom->SetHetAtom(atom->IsHetAtom()); + dst_atom->SetHetAtom(atom->IsHetAtom()); + dst_atom->SetIndex(atom->GetIndex()); if (!atom->HasDefaultProps()) { dst_atom->SetRadius(atom->GetRadius());