From 9215b6e775a616816efb1e1340bc06b569d2bfe2 Mon Sep 17 00:00:00 2001 From: Xavier Robin <xavalias-github@xavier.robin.name> Date: Thu, 27 Jul 2023 10:34:57 +0200 Subject: [PATCH] fix: SCHWED-4345 allow returning null pointer. This allows IsValid() to work as intended without throwing an exception. Because the validity of the underlying entity is now checked in CheckValidity, it should no longer be a problem. --- modules/mol/base/src/impl/atom_impl.cc | 5 +---- modules/mol/base/src/impl/chain_impl.cc | 3 --- modules/mol/base/src/impl/residue_impl.cc | 6 ------ 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/modules/mol/base/src/impl/atom_impl.cc b/modules/mol/base/src/impl/atom_impl.cc index 2e754a73b..46fa1ac64 100644 --- a/modules/mol/base/src/impl/atom_impl.cc +++ b/modules/mol/base/src/impl/atom_impl.cc @@ -73,9 +73,6 @@ void AtomImpl::Apply(EntityVisitor& v) ResidueImplPtr AtomImpl::GetResidue() const { - if (!res_.lock()) { - throw InvalidHandle(); - } return res_.lock(); } @@ -218,7 +215,7 @@ AtomImpl::~AtomImpl() { EntityImplPtr AtomImpl::GetEntity() const { if (!res_.lock()) { - throw InvalidHandle(); + return EntityImplPtr(); } return res_.lock()->GetEntity(); } diff --git a/modules/mol/base/src/impl/chain_impl.cc b/modules/mol/base/src/impl/chain_impl.cc index 6aff6305b..adf5aeb8b 100644 --- a/modules/mol/base/src/impl/chain_impl.cc +++ b/modules/mol/base/src/impl/chain_impl.cc @@ -369,9 +369,6 @@ AtomImplPtr ChainImpl::FindAtom(const ResNum& num, EntityImplPtr ChainImpl::GetEntity() const { - if (!ent_.lock()) { - throw InvalidHandle(); - } return ent_.lock(); } int ChainImpl::GetIndexForResNum(const ResNum& number) const diff --git a/modules/mol/base/src/impl/residue_impl.cc b/modules/mol/base/src/impl/residue_impl.cc index 316f16de2..819c7294d 100644 --- a/modules/mol/base/src/impl/residue_impl.cc +++ b/modules/mol/base/src/impl/residue_impl.cc @@ -200,9 +200,6 @@ void ResidueImpl::SetSecStructure(SecStructure ss) EntityImplPtr ResidueImpl::GetEntity() const { - if (!ent_.lock()) { - throw InvalidHandle(); - } return ent_.lock(); } @@ -259,9 +256,6 @@ int ResidueImpl::GetBondCount() const ChainImplPtr ResidueImpl::GetChain() const { - if (!chain_.lock()) { - throw InvalidHandle(); - } return chain_.lock(); } -- GitLab