Index: /trunk/src/story_entities/simple_game_menu.cc
===================================================================
--- /trunk/src/story_entities/simple_game_menu.cc	(revision 6852)
+++ /trunk/src/story_entities/simple_game_menu.cc	(revision 6853)
@@ -194,4 +194,5 @@
       PRINTF(0)("Got a new menu entry |%s|\n", se->getName());
       ImageEntity* ie = new ImageEntity();
+      PRINTF(0)("setting texture to: |%s|\n", se->getMenuItemImage());
       ie->setTexture(se->getMenuItemImage());
       ie->setRelCoor(0.0f,- (this->menuLayer[1]->menuList.size() * 10.0f), 0.0f);
@@ -288,22 +289,4 @@
 
         this->switchMenuLayer(this->layerIndex, 1);
-
-      }
-    }
-    else if( event.type == SDLK_DOWN && event.bPressed == true)
-    {
-//     ImageEntity*
-      if(this->menuSelectedIndex < (this->menuLayer[this->layerIndex]->menuList.size() - 1))
-      {
-        this->menuSelected = this->menuLayer[this->layerIndex]->menuList[++this->menuSelectedIndex];
-        this->menuSelector->setAbsCoor(this->menuSelected->getAbsCoor());
-      }
-    }
-    else if( event.type == SDLK_UP && event.bPressed == true)
-    {
-      if(this->menuSelectedIndex > 0)
-      {
-        this->menuSelected = this->menuLayer[this->layerIndex]->menuList[--this->menuSelectedIndex];
-        this->menuSelector->setAbsCoor(this->menuSelected->getAbsCoor());
       }
     }
@@ -315,4 +298,24 @@
       this->setNextStoryID( this->menuLayer[1]->storyList[this->menuSelectedIndex]->getStoryID());
       this->stop();
+    }
+  }
+
+
+
+  // The menu selction cursor
+  if( event.type == SDLK_DOWN && event.bPressed == true)
+  {
+    if(this->menuSelectedIndex < (this->menuLayer[this->layerIndex]->menuList.size() - 1))
+    {
+      this->menuSelected = this->menuLayer[this->layerIndex]->menuList[++this->menuSelectedIndex];
+      this->menuSelector->setAbsCoor(this->menuSelected->getAbsCoor());
+    }
+  }
+  else if( event.type == SDLK_UP && event.bPressed == true)
+  {
+    if(this->menuSelectedIndex > 0)
+    {
+      this->menuSelected = this->menuLayer[this->layerIndex]->menuList[--this->menuSelectedIndex];
+      this->menuSelector->setAbsCoor(this->menuSelected->getAbsCoor());
     }
   }
Index: /trunk/src/story_entities/story_entity.cc
===================================================================
--- /trunk/src/story_entities/story_entity.cc	(revision 6852)
+++ /trunk/src/story_entities/story_entity.cc	(revision 6853)
@@ -41,5 +41,5 @@
   this->storyID = -1;
   this->description = NULL;
-  this->menuItemImage = "pictures/menu/DefaultMenuItem.png";
+  this->menuItemImage = NULL;
   this->nextStoryID = WORLD_ID_GAMEEND;
   this->bMenuEntry = false;
@@ -82,2 +82,52 @@
   PRINTF(4)("Loaded StoryEntity specific stuff\n");
 }
+
+
+/**
+ * sets the descroption of this StoryEntity
+ * @param name name
+ */
+void StoryEntity::setDescription(const char* description)
+{
+  if (this->description)
+    delete[] this->description;
+  if (description!= NULL)
+  {
+    this->description= new char[strlen(description)+1];
+    strcpy(this->description, description);
+  }
+  else this->description= NULL;
+}
+
+
+/**
+ * sets the menu item image of this StoryEntity
+ * @param name name
+ */
+void StoryEntity::setMenuItemImage(const char* image)
+{
+  if (this->menuItemImage)
+    delete[] this->menuItemImage;
+  if (image != NULL)
+  {
+    this->menuItemImage = new char[strlen(image)+1];
+    strcpy(this->menuItemImage, image);
+  }
+  else this->menuItemImage = NULL;
+}
+
+
+/** sets the menu screenshoot of this StoryEntity @param name name */
+void StoryEntity::setMenuScreenshoot(const char* image)
+{
+  if (this->menuScreenshoot)
+    delete[] this->menuScreenshoot;
+  if (image != NULL)
+  {
+    this->menuScreenshoot = new char[strlen(image)+1];
+    strcpy(this->menuScreenshoot, image);
+  }
+  else this->menuScreenshoot = NULL;
+}
+
+
Index: /trunk/src/story_entities/story_entity.h
===================================================================
--- /trunk/src/story_entities/story_entity.h	(revision 6852)
+++ /trunk/src/story_entities/story_entity.h	(revision 6853)
@@ -67,6 +67,5 @@
   /**  gets the story id of the current entity @returns story id */
   inline int getNextStoryID() { return this->nextStoryID; }
-  /** sets the descroption of this StoryEntity @param name name */
-  inline void setDescription(const char* description) { this->description = description; }
+  inline void setDescription(const char* description);
   /** @returns the description of this StoryEntity */
   inline const char* getDescription() { return this->description; }
@@ -76,9 +75,8 @@
   inline bool isContainedInMenu() { return this->bMenuEntry; }
   /** sets the menu item image of this StoryEntity @param name name */
-  inline void setMenuItemImage(const char* image) { this->menuItemImage = image; }
+  inline void setMenuItemImage(const char* image);
   /** @returns the menu item image of this StoryEntity */
   inline const char* getMenuItemImage() { return this->menuItemImage; }
-  /** sets the menu screenshoot of this StoryEntity @param name name */
-  inline void setMenuScreenshoot(const char* image) { this->menuScreenshoot = image; }
+  inline void setMenuScreenshoot(const char* image);
   /** @returns the menu screenshoot of this StoryEntity */
   inline const char* getMenuScreenshoot() { return this->menuScreenshoot; }
@@ -94,7 +92,7 @@
     int storyID;            //!< this is the number of this entity, identifying it in a list/tree...
     int nextStoryID;        //!< if this entity has finished, this entity shall be called
-    const char* description;//!< the description of the StoryEntity
-    const char* menuItemImage;//!< the item image of the StoryEntity
-    const char* menuScreenshoot;//!< the screenshoot of the StoryEntity
+    char* description;      //!< the description of the StoryEntity
+    char* menuItemImage;    //!< the item image of the StoryEntity
+    char* menuScreenshoot;  //!< the screenshoot of the StoryEntity
     bool        bMenuEntry; //!< If true, this GameWorld apears in the SimpleMenu: SimpleMenu specific
 };
