From c9cbb60c2aa374a8cefec5699124450c7b85e28f Mon Sep 17 00:00:00 2001 From: David Rose Date: Fri, 22 Mar 2002 19:33:40 +0000 Subject: [PATCH] better assertions --- panda/src/pgraph/pandaNode.cxx | 5 +++++ panda/src/pgraph/qpnodePath.I | 7 ++----- panda/src/pgraph/qpnodePathComponent.I | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/panda/src/pgraph/pandaNode.cxx b/panda/src/pgraph/pandaNode.cxx index 96ed270988..f1ca36908c 100644 --- a/panda/src/pgraph/pandaNode.cxx +++ b/panda/src/pgraph/pandaNode.cxx @@ -654,6 +654,7 @@ get_next_visible_child(int n) const { //////////////////////////////////////////////////////////////////// int PandaNode:: find_child(PandaNode *node) const { + nassertr(node != (PandaNode *)NULL, -1); CDReader cdata(_cycler); // We have to search for the child by brute force, since we don't @@ -681,6 +682,7 @@ find_child(PandaNode *node) const { //////////////////////////////////////////////////////////////////// void PandaNode:: add_child(PandaNode *child_node, int sort) { + nassertv(child_node != (PandaNode *)NULL); // Ensure the child_node is not deleted while we do this. PT(PandaNode) keep_child = child_node; remove_child(child_node); @@ -738,6 +740,7 @@ remove_child(int n) { //////////////////////////////////////////////////////////////////// bool PandaNode:: remove_child(PandaNode *child_node) { + nassertr(child_node != (PandaNode *)NULL, false); // First, look for the parent in the child's up list, to ensure the // child is known. int parent_index = child_node->find_parent(this); @@ -777,6 +780,8 @@ remove_child(PandaNode *child_node) { //////////////////////////////////////////////////////////////////// bool PandaNode:: replace_child(PandaNode *orig_child, PandaNode *new_child) { + nassertr(orig_child != (PandaNode *)NULL, false); + nassertr(new_child != (PandaNode *)NULL, false); // First, look for the parent in the child's up list, to ensure the // child is known. int parent_index = orig_child->find_parent(this); diff --git a/panda/src/pgraph/qpnodePath.I b/panda/src/pgraph/qpnodePath.I index 1c877176e1..88102ca6ea 100644 --- a/panda/src/pgraph/qpnodePath.I +++ b/panda/src/pgraph/qpnodePath.I @@ -228,14 +228,11 @@ get_error_type() const { //////////////////////////////////////////////////////////////////// // Function: qpNodePath::node // Access: Published -// Description: Returns the referenced node of the path, or NULL if the -// path is empty. +// Description: Returns the referenced node of the path. //////////////////////////////////////////////////////////////////// INLINE PandaNode *qpNodePath:: node() const { - if (is_empty()) { - return (PandaNode *)NULL; - } + nassertr(!is_empty(), (PandaNode *)NULL); return _head->get_node(); } diff --git a/panda/src/pgraph/qpnodePathComponent.I b/panda/src/pgraph/qpnodePathComponent.I index 6c97d37c00..8cd1d6c38d 100644 --- a/panda/src/pgraph/qpnodePathComponent.I +++ b/panda/src/pgraph/qpnodePathComponent.I @@ -101,6 +101,7 @@ INLINE qpNodePathComponent:: //////////////////////////////////////////////////////////////////// INLINE PandaNode *qpNodePathComponent:: get_node() const { + nassertr(_node != (PandaNode *)NULL, _node); return _node; }