Index: trunk/src/lib/gui/gl_gui/glgui_button.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_button.cc	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glgui_button.cc	(revision 7221)
@@ -54,5 +54,5 @@
 }
 
-void GLGuiButton::setLabel(const char* label)
+void GLGuiButton::setLabel(const std::string& label)
 {
   this->label->setText(label);
Index: trunk/src/lib/gui/gl_gui/glgui_button.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_button.h	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glgui_button.h	(revision 7221)
@@ -35,5 +35,5 @@
 
    void init();
-   void setLabel(const char* label);
+   void setLabel(const std::string& label);
 
    virtual void draw() const;
Index: trunk/src/lib/gui/gl_gui/glgui_menu.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_menu.h	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glgui_menu.h	(revision 7221)
@@ -24,8 +24,8 @@
   void init();
 
-  void addItem(const char* itemName);
-  void removeItem(const char* itemName);
+  void addItem(const std::string& itemName);
+  void removeItem(const std::string& itemName);
   void removeItem(unsigned int itemNumber);
-  void selectItem(const char* itemName);
+  void selectItem(const std::string& itemName);
   void selectItem(unsigned int itemNumber);
 
Index: trunk/src/lib/gui/gl_gui/glgui_widget.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_widget.h	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glgui_widget.h	(revision 7221)
@@ -47,5 +47,5 @@
     virtual char* save() {};
     /** loads options of the Widget. @param loadString a string containing the Options */
-    virtual void load(const char* loadString) {};
+    virtual void load(const std::string& loadString) {};
 
     void show();
Index: trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 7221)
@@ -13,5 +13,5 @@
    ### File Specific:
    main-programmer: Patrick Boenzli
-   co-programmer:
+   co-programmer: Benjamin GRauer
 */
 
@@ -84,8 +84,8 @@
 
 /**
-  *  sets the background image name
+  * @brief sets the background image name
   * @param backImageName name of the backgroun-image
  */
-void GLMenuImageScreen::setBackgroundImage (const char* backImageName)
+void GLMenuImageScreen::setBackgroundImage (const std::string& backImageName)
 {
   this->backMat->setDiffuseMap(backImageName);
@@ -93,5 +93,5 @@
 
 /**
- *  sets position of the ImageScreen
+ * @brief sets position of the ImageScreen
  * @param offsetX offset from the top left corner in percent(0-1) of the screensize
  * @param offsetY offset from the top left corner in percent(0-1) of the screensize
@@ -104,5 +104,5 @@
 
 /**
-  \brief sets size of the ImageScreen
+ * @brief sets size of the ImageScreen
  * @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
  * @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
@@ -115,9 +115,9 @@
 
 /**
-  \brief sets position and size of the ImageScreen
-* @param offsetX offset from the top left corner in percent(0-1) of the screensize
-* @param offsetY offset from the top left corner in percent(0-1) of the screensize
-* @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
-* @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
+ * @brief sets position and size of the ImageScreen
+ * @param offsetX offset from the top left corner in percent(0-1) of the screensize
+ * @param offsetY offset from the top left corner in percent(0-1) of the screensize
+ * @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
+ * @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
 */
 void GLMenuImageScreen::setPosScale(float offsetX, float offsetY, float scaleX, float scaleY)
@@ -130,5 +130,5 @@
  * @param barImage An image for the Bar
 */
-void GLMenuImageScreen::setBarImage(const char* barImage)
+void GLMenuImageScreen::setBarImage(const std::string& barImage)
 {
   this->barMat->setDiffuseMap(barImage);
@@ -136,5 +136,5 @@
 
 /**
- *  sets the Position and the Size of the bar
+ * @brief sets the Position and the Size of the bar
  * @param barX The Position in the x-direction in percent of the screen (0-1)
  * @param barY The Position in the y-direction in percent of the screen (0-1)
@@ -152,5 +152,5 @@
 
 /**
- *  set the maximum of countable steps
+ * @brief set the maximum of countable steps
  * @param maxValue of steps
 */
@@ -161,5 +161,5 @@
 
 /**
- *  set current value
+ * @brief set current value
  * @param currentValue value to set
 */
@@ -172,5 +172,5 @@
 
 /**
- *  get the current value
+ * @brief get the current value
  */
 int GLMenuImageScreen::getValue()
@@ -181,7 +181,7 @@
 
 /**
-  *  call this to trigger a progress event
-
-    this has to redraw the progress bar and the whole image
+ * @brief call this to trigger a progress event
+ *
+ * this has to redraw the progress bar and the whole image
  */
 void GLMenuImageScreen::step ()
@@ -199,5 +199,5 @@
 
 /**
- *  draws the ImageScreen to the screenbuffer
+ * @brief draws the ImageScreen to the screenbuffer
 */
 void GLMenuImageScreen::draw ()
Index: trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h	(revision 7193)
+++ trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.h	(revision 7221)
@@ -13,7 +13,8 @@
 
 //! A class to display a loadScreen
-class GLMenuImageScreen : public BaseObject {
+class GLMenuImageScreen : public BaseObject
+{
 
- public:
+public:
   GLMenuImageScreen (const TiXmlElement* root = NULL);
   virtual void loadParams(const TiXmlElement* root);
@@ -22,10 +23,10 @@
   void draw();
 
-  void setBackgroundImage(const char* backImageName);
+  void setBackgroundImage(const std::string& backImageName);
   void setPosition(float offsetX, float offsetY);
   void setScale (float scaleX, float scaleY);
   void setPosScale(float offsetX, float offsetY, float scaleX, float scaleY);
 
-  void setBarImage(const char* barImage);
+  void setBarImage(const std::string& barImage);
   void setBarPosScale(float barX, float barY, float barW, float barH);
 
@@ -39,7 +40,7 @@
 
 
- private:
+private:
   // background image
-  char*         backImageName;       //!< the name of the file of the background image
+  std::string         backImageName;       //!< the name of the file of the background image
   float         offsetX;             //!< X-offset of the the image from the left
   float         offsetY;             //!< Y-offset of the image from the top
Index: trunk/src/lib/gui/gtk_gui/gui_exec.cc
===================================================================
--- trunk/src/lib/gui/gtk_gui/gui_exec.cc	(revision 7193)
+++ trunk/src/lib/gui/gtk_gui/gui_exec.cc	(revision 7221)
@@ -47,6 +47,6 @@
   Frame* execFrame;            //!< The Frame that holds the ExecutionOptions.
 
-  this->confFile = NULL;
-  this->confDir = NULL;
+  this->confFile = "";
+  this->confDir = "";
 
   execFrame = new Frame("Execute-Tags:");
@@ -137,8 +137,4 @@
 GuiExec::~GuiExec()
 {
-  if(this->confFile)
-    delete []this->confFile;
-  if(this->confDir)
-    delete []this->confDir;
 }
 
@@ -156,7 +152,7 @@
   //! @todo F** Windows-support
 #ifndef __WIN32__
-  mkdir(this->confDir, 0755);
+  mkdir(this->confDir.c_str(), 0755);
 #else /* __WiN32__ */
-  mkdir(this->confDir);
+  mkdir(this->confDir.c_str());
 #endif /* __WIN32__ */
 }
@@ -170,8 +166,7 @@
 void GuiExec::setConfFile(const char* fileName)
 {
-  if (!this->confDir)
+  if (this->confDir.empty())
     this->setConfDir("~/");
-  this->confFile = new char[strlen(this->confDir)+strlen(fileName)+2];
-  sprintf(this->confFile, "%s/%s", this->confDir, fileName);
+  this->confFile = this->confDir + "/" + fileName;
   PRINTF(5)("ConfigurationFile is %s.\n", this->confFile);
 }
@@ -182,5 +177,5 @@
 const char* GuiExec::getConfigFile() const
 {
-  return this->confFile;
+  return this->confFile.c_str();
 }
 
@@ -204,7 +199,6 @@
   IniParser iniParser;
   this->writeFileText(widget, &iniParser, 0);
-  char* fileName = ResourceManager::homeDirCheck(confFile);
+  std::string fileName = ResourceManager::homeDirCheck(confFile);
   iniParser.writeFile(fileName);
-  delete[] fileName;
 }
 
@@ -259,7 +253,6 @@
 void GuiExec::readFromFile(Widget* widget)
 {
-  char* fileName = ResourceManager::homeDirCheck(confFile);
+  std::string fileName = ResourceManager::homeDirCheck(confFile);
   IniParser iniParser(fileName);
-  delete[] fileName;
   if (!iniParser.isOpen())
     return;
@@ -267,13 +260,13 @@
   iniParser.firstSection();
   Widget* groupWidget = widget;
-  const char* groupName;
-  const char* widgetName;
+  std::string groupName;
+  std::string widgetName;
   VarInfo varInfo;
-  while (groupName = iniParser.getCurrentSection())
+  while ((groupName = iniParser.getCurrentSection()) != "")
   {
-    printf("GROUP:::%s\n", groupName);
-    if((groupWidget = locateGroup(widget, groupName, 1))==NULL)
+    PRINTF(4)("GROUP:::%s\n", groupName.c_str());
+    if((groupWidget = locateGroup(widget, groupName.c_str(), 1))==NULL)
       {
-	PRINTF(2)("!!There is no group called %s in this GUI.\n First best Widget will get the Infos assigned.\n Config-File will be updated in next Save\n", groupName);
+        PRINTF(2)("!!There is no group called %s in this GUI.\n First best Widget will get the Infos assigned.\n Config-File will be updated in next Save\n", groupName.c_str());
 	groupWidget = widget;
 	continue;
@@ -282,11 +275,11 @@
       PRINT(4)("Group %s located.\n", static_cast<Packer*>(groupWidget)->groupName);
 
-    const char* entryName;
+    std::string entryName;
     iniParser.firstVar();
-    while(entryName = iniParser.getCurrentName())
-    {
-      PRINTF(4)("ENTRY:::%s = %s\n", entryName, iniParser.getCurrentValue());
-      varInfo.variableName = entryName;
-      varInfo.variableValue = iniParser.getCurrentValue();
+    while((entryName = iniParser.getCurrentName()) != "")
+    {
+      PRINTF(4)("ENTRY:::%s = %s\n", entryName.c_str(), iniParser.getCurrentValue().c_str());
+      varInfo.variableName = entryName.c_str();
+      varInfo.variableValue = iniParser.getCurrentValue().c_str();
       groupWidget->walkThrough(this->readFileText, &varInfo, 0);
       iniParser.nextVar();
Index: trunk/src/lib/gui/gtk_gui/gui_exec.h
===================================================================
--- trunk/src/lib/gui/gtk_gui/gui_exec.h	(revision 7193)
+++ trunk/src/lib/gui/gtk_gui/gui_exec.h	(revision 7221)
@@ -11,4 +11,6 @@
 #include "gui_gtk.h"
 
+#include <string>
+
 class Widget;
 class CheckButton;
@@ -22,6 +24,6 @@
   CheckButton* saveSettings;   //!< A CheckBox for if the Options should be saved.
 
-  char* confDir;               //!< The directory of the orxonox-configuration-files.
-  char* confFile;              //!< The name of the .orxonox.conf(ig)-file.
+  std::string confDir;         //!< The directory of the orxonox-configuration-files.
+  std::string confFile;        //!< The name of the .orxonox.conf(ig)-file.
 
   //! A struct that holds informations about variables.
@@ -58,6 +60,6 @@
 struct HashTable
 {
-  char* name;           //!< name of the entry
-  char* value;          //!< value of the entry
+  std::string name;           //!< name of the entry
+  std::string value;          //!< value of the entry
   HashTable* next;      //!< pointer to the next entry
 };
