Index: /trunk/orxonox.kdevelop
===================================================================
--- /trunk/orxonox.kdevelop	(revision 5164)
+++ /trunk/orxonox.kdevelop	(revision 5165)
@@ -10,5 +10,5 @@
     <projectdirectory>.</projectdirectory>
     <absoluteprojectpath>false</absoluteprojectpath>
-    <description></description>
+    <description/>
     <secondaryLanguages>
       <language>C</language>
@@ -21,5 +21,5 @@
       <directoryradio>build</directoryradio>
       <customdirectory>/</customdirectory>
-      <programargs></programargs>
+      <programargs/>
       <terminal>false</terminal>
       <autocompile>true</autocompile>
@@ -28,5 +28,5 @@
     <build>
       <buildtool>make</buildtool>
-      <builddir></builddir>
+      <builddir/>
     </build>
     <make>
@@ -35,21 +35,21 @@
       <prio>0</prio>
       <dontact>false</dontact>
-      <makebin></makebin>
-      <makeoptions></makeoptions>
+      <makebin/>
+      <makeoptions/>
       <selectedenvironment>default</selectedenvironment>
       <environments>
         <default/>
       </environments>
-      <defaulttarget></defaulttarget>
+      <defaulttarget/>
     </make>
   </kdevcustomproject>
   <kdevdebugger>
     <general>
-      <dbgshell></dbgshell>
-      <programargs></programargs>
-      <gdbpath></gdbpath>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+      <dbgshell/>
+      <programargs/>
+      <gdbpath/>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
@@ -131,5 +131,5 @@
     </codecompletion>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
Index: /trunk/src/lib/shell/shell_command.cc
===================================================================
--- /trunk/src/lib/shell/shell_command.cc	(revision 5164)
+++ /trunk/src/lib/shell/shell_command.cc	(revision 5165)
@@ -86,4 +86,26 @@
 {
   delete[] this->parameters;
+}
+
+void ShellCommandBase::unregisterAllCommands()
+{
+  tIterator<ShellCommandBase>* iterator = ShellCommandBase::commandList->getIterator();
+  ShellCommandBase* elem = iterator->firstElement();
+  while(elem != NULL)
+  {
+    delete elem;
+
+    elem = iterator->nextElement();
+  }
+  delete iterator;
+
+  delete ShellCommandBase::commandList;
+  ShellCommandBase::commandList = NULL;
+}
+
+
+void unregisterCommand(const char* commandName, const char* className)
+{
+  PRINTF(1)("IMPLEMENT THIS\n");
 }
 
@@ -223,9 +245,10 @@
   if (this == NULL)
     return NULL;
-
-  this->description = description;
-  return this;
-}
-
+ else
+ {
+   this->description = description;
+   return this;
+ }
+}
 
 void ShellCommandBase::debugDyn()
Index: /trunk/src/lib/shell/shell_command.h
===================================================================
--- /trunk/src/lib/shell/shell_command.h	(revision 5164)
+++ /trunk/src/lib/shell/shell_command.h	(revision 5165)
@@ -39,5 +39,6 @@
     static const tList<ShellCommandBase>* getCommandList() { return ShellCommandBase::commandList; };
 
-//    static void unregisterCommand(const char* commandNaame, const char* className);
+    static void unregisterAllCommands();
+    static void unregisterCommand(const char* commandNaame, const char* className);
 
     static void debug();
Index: /trunk/src/orxonox.cc
===================================================================
--- /trunk/src/orxonox.cc	(revision 5164)
+++ /trunk/src/orxonox.cc	(revision 5165)
@@ -31,5 +31,5 @@
 #include "world.h"
 #include "ini_parser.h"
-#include "game_loader.h"		
+#include "game_loader.h"
 
 //ENGINES
@@ -50,4 +50,5 @@
 #include "substring.h"
 #include "shell.h"
+#include "shell_command.h"
 
 #include <string.h>
@@ -91,4 +92,5 @@
   delete GarbageCollector::getInstance();
   FastFactory::deleteAll();
+  ShellCommandBase::unregisterAllCommands();
 
   delete EventHandler::getInstance();
