summaryrefslogtreecommitdiffstats
path: root/src/entities/Physical.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/entities/Physical.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/entities/Physical.cpp b/src/entities/Physical.cpp
index ed01297e..4088f1d1 100644
--- a/src/entities/Physical.cpp
+++ b/src/entities/Physical.cpp
@@ -126,6 +126,8 @@ CPhysical::Add(void)
break;
default:
assert(0);
+ debug("This shouldn't happen");
+ return;
}
CPtrNode *node = list->InsertItem(this);
assert(node);
@@ -191,17 +193,20 @@ CPhysical::RemoveAndAdd(void)
list = &s->m_lists[ENTITYLIST_OBJECTS_OVERLAP];
break;
}
- if(next){
- // If we still have old nodes, use them
- next->list->RemoveNode(next->listnode);
- list->InsertNode(next->listnode);
- next->list = list;
- next->sector = s;
- next = next->next;
- }else{
- CPtrNode *node = list->InsertItem(this);
- m_entryInfoList.InsertItem(list, node, s);
- }
+#ifdef FIX_BUGS
+ if(list)
+#endif
+ if(next) {
+ // If we still have old nodes, use them
+ next->list->RemoveNode(next->listnode);
+ list->InsertNode(next->listnode);
+ next->list = list;
+ next->sector = s;
+ next = next->next;
+ } else {
+ CPtrNode *node = list->InsertItem(this);
+ m_entryInfoList.InsertItem(list, node, s);
+ }
}
// Remove old nodes we no longer need