Index: /trunk/src/lib/collision_detection/bounding_volume.cc
===================================================================
--- /trunk/src/lib/collision_detection/bounding_volume.cc	(revision 5119)
+++ /trunk/src/lib/collision_detection/bounding_volume.cc	(revision 5120)
@@ -30,4 +30,5 @@
    this->center = new Vector();
    this->bOrigVertices = true;
+   this->vertices = NULL;
 }
 
@@ -43,7 +44,4 @@
 
   if( this->vertices && !this->bOrigVertices)
-  {
-    delete this->vertices;
-    this->vertices = NULL;
-  }
+    delete[] this->vertices;
 }
Index: /trunk/src/lib/collision_detection/obb.cc
===================================================================
--- /trunk/src/lib/collision_detection/obb.cc	(revision 5119)
+++ /trunk/src/lib/collision_detection/obb.cc	(revision 5120)
@@ -32,5 +32,4 @@
    this->halfLength = new float[3];
    this->bCollided = false;
-   this->vertices = NULL;
 }
 
Index: /trunk/src/lib/util/list.h
===================================================================
--- /trunk/src/lib/util/list.h	(revision 5119)
+++ /trunk/src/lib/util/list.h	(revision 5120)
@@ -465,10 +465,12 @@
  * grabs the iterator entity from another iterator
  * @param iterator the iterator to grab the local currentEl from
- * @returns the grabbed element (current).
+ * @returns the grabbed element (current). NULL if not found, or not defined
+ *
+ * Both iterators must be from the same List!
  */
 template<class T>
     T* tIterator<T>::iteratorElement(const tIterator<T>* iterator)
 {
-  if (iterator != NULL)
+  if (iterator != NULL && iterator->list == this->list)
   {
     this->currentEl = iterator->currentEl;
Index: /trunk/src/util/shell.cc
===================================================================
--- /trunk/src/util/shell.cc	(revision 5119)
+++ /trunk/src/util/shell.cc	(revision 5120)
@@ -185,5 +185,5 @@
     this->bufferText[i] = TextEngine::getInstance()->createText("fonts/Aniron_Bold.ttf", this->textSize, TEXT_DYNAMIC, 255, 0, 0);
     this->bufferText[i]->setAlignment(TEXT_ALIGN_LEFT);
-    this->bufferText[i]->setRelCoor2D(5, (this->textSize + this->lineSpacing)*(bufferDisplaySize - i -1));
+    this->bufferText[i]->setRelCoor2D(calculateLinePosition(i));
     this->bufferText[i]->setText(NULL);
     this->bufferText[i]->setParent2D(this);
@@ -282,18 +282,17 @@
   {
     Text* lastText = this->bufferText[this->bufferDisplaySize-1];
-    Vector firstCoord = this->bufferText[0]->getRelCoorSoft2D();
 
     Text* swapText;
     Text* moveText = this->bufferText[0];
-    this->bufferText[0]->setRelCoorSoft2D(this->bufferText[1]->getRelCoorSoft2D(), 5);
+    this->bufferText[0]->setRelCoorSoft2D(this->calculateLinePosition(1),10);
     for (unsigned int i = 1; i < this->bufferDisplaySize; i++)
     {
       if ( i < this->bufferDisplaySize-1)
-        this->bufferText[i]->setRelCoorSoft2D(this->bufferText[i+1]->getRelCoorSoft2D(),5);
+        this->bufferText[i]->setRelCoorSoft2D(this->calculateLinePosition(i+1),5);
       swapText = this->bufferText[i];
       this  ->bufferText[i] = moveText;
       moveText = swapText;
     }
-    lastText->setRelCoor2D(firstCoord);
+    lastText->setRelCoor2D(this->calculateLinePosition(0));
     this->bufferText[0] = lastText;
 
@@ -739,4 +738,15 @@
 }
 
+
+///////////////////////
+// HELPER FUNCTIONS  //
+///////////////////////
+Vector Shell::calculateLinePosition(unsigned int lineNumber)
+{
+  return Vector(5, (this->textSize + this->lineSpacing)*(this->bufferDisplaySize - lineNumber -1), 0);
+}
+
+
+
 /**
  * displays some nice output from the Shell
Index: /trunk/src/util/shell.h
===================================================================
--- /trunk/src/util/shell.h	(revision 5119)
+++ /trunk/src/util/shell.h	(revision 5120)
@@ -83,4 +83,7 @@
     const tList<const char>* Shell::createCompleteList(const tList<BaseObject>* inputList, const char* classNameBegin);
 
+    // helpers //
+    Vector calculateLinePosition(unsigned int lineNumber);
+
 
   private:
