Index: branches/std/src/lib/graphics/graphics_engine.cc
===================================================================
--- branches/std/src/lib/graphics/graphics_engine.cc	(revision 7218)
+++ branches/std/src/lib/graphics/graphics_engine.cc	(revision 7219)
@@ -78,11 +78,4 @@
   this->screen = NULL;
 
-
-  // Hardware
-  this->hwRenderer = NULL;
-  this->hwVendor = NULL;
-  this->hwVersion = NULL;
-  this->hwExtensions = NULL;
-
   // initialize the Modules
   TextEngine::getInstance();
@@ -103,9 +96,4 @@
   // delete what has to be deleted here
   this->displayFPS( false );
-
-  delete[] this->hwRenderer;
-  delete[] this->hwVendor;
-  delete[] this->hwVersion;
-  delete this->hwExtensions;
 
   //TextEngine
@@ -312,28 +300,24 @@
   //  printf("%s %s %s\n %s", renderer, vendor, version, extensions);
 
-  if (this->hwRenderer == NULL && renderer != NULL)
-  {
-    this->hwRenderer = new char[strlen(renderer)+1];
-    strcpy(this->hwRenderer, renderer);
-  }
-  if (this->hwVendor == NULL && vendor != NULL)
-  {
-    this->hwVendor = new char[strlen(vendor)+1];
-    strcpy(this->hwVendor, vendor);
-  }
-  if (this->hwVersion == NULL && version != NULL)
-  {
-    this->hwVersion = new char[strlen(version)+11];
-    strcpy(this->hwVersion, version);
-  }
-
-  if (this->hwExtensions == NULL && extensions != NULL)
-    this->hwExtensions = new SubString((char*)glGetString(GL_EXTENSIONS), " \n\t,");
+  if (renderer != NULL)
+  {
+    this->hwRenderer == renderer;
+  }
+  if (vendor != NULL)
+  {
+    this->hwVendor == vendor;
+  }
+  if (version != NULL)
+  {
+    this->hwVersion == version;
+  }
+
+  if (extensions != NULL)
+    this->hwExtensions.split(extensions, " \n\t,");
 
   PRINT(4)("Running on : vendor: %s,  renderer: %s,  version:%s\n", vendor, renderer, version);
   PRINT(4)("Extensions:\n");
-  if (this->hwExtensions != NULL)
-    for (unsigned int i = 0; i < this->hwExtensions->getCount(); i++)
-      PRINT(4)("%d: %s\n", i, this->hwExtensions->getString(i));
+  for (unsigned int i = 0; i < this->hwExtensions.getCount(); i++)
+    PRINT(4)("%d: %s\n", i, this->hwExtensions.getString(i).c_str());
 
 
@@ -529,10 +513,9 @@
  * @return true if it is, false otherwise
  */
-bool GraphicsEngine::hwSupportsEXT(const char* extension)
-{
-  if (this->hwExtensions != NULL)
-    for (unsigned int i = 0; i < this->hwExtensions->getCount(); i++)
-      if ( this->hwExtensions->getString(i) == extension)
-        return true;
+bool GraphicsEngine::hwSupportsEXT(const std::string& extension)
+{
+  for (unsigned int i = 0; i < this->hwExtensions.getCount(); i++)
+    if ( this->hwExtensions.getString(i) == extension)
+      return true;
   return false;
 }
@@ -587,5 +570,5 @@
 void GraphicsEngine::draw() const
 {
-//  LightManager::getInstance()->draw();
+  //  LightManager::getInstance()->draw();
 
   GraphicsEngine::storeMatrices();
@@ -668,7 +651,7 @@
   switch (event.type)
   {
-      case EV_VIDEO_RESIZE:
-      this->resolutionChanged(event.resize);
-      break;
-  }
-}
+  case EV_VIDEO_RESIZE:
+    this->resolutionChanged(event.resize);
+    break;
+  }
+}
Index: branches/std/src/lib/graphics/graphics_engine.h
===================================================================
--- branches/std/src/lib/graphics/graphics_engine.h	(revision 7218)
+++ branches/std/src/lib/graphics/graphics_engine.h	(revision 7219)
@@ -14,11 +14,11 @@
 #include "sdlincl.h"
 #include "glincl.h"
+#include <list>
 
-#include <list>
+#include "substring.h"
 
 // Forward Declaration
 class Text;
 class IniParser;
-class SubString;
 class WorldEntity;
 class GraphicsEffect;
@@ -74,5 +74,5 @@
 
     void listModes();
-    bool hwSupportsEXT(const char* extension);
+    bool hwSupportsEXT(const std::string& extension);
 
     /** @brief swaps the GL_BUFFERS */
@@ -116,8 +116,8 @@
 
     // HARDWARE-Settings:
-    char*                      hwRenderer;         //!< HW-renderer-string
-    char*                      hwVendor;           //!< HW-vendor-string
-    char*                      hwVersion;          //!< HW-version-string
-    SubString*                 hwExtensions;       //!< All suported Extensions.
+    std::string                hwRenderer;         //!< HW-renderer-string
+    std::string                hwVendor;           //!< HW-vendor-string
+    std::string                hwVersion;          //!< HW-version-string
+    SubString                  hwExtensions;       //!< All suported Extensions.
 
     // FPS-related
Index: branches/std/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- branches/std/src/lib/graphics/render2D/element_2d.cc	(revision 7218)
+++ branches/std/src/lib/graphics/render2D/element_2d.cc	(revision 7219)
@@ -726,5 +726,5 @@
 void Element2D::setParentMode2D (const std::string& parentingMode)
 {
-  this->setParentMode2D(Element2D::charToParentingMode2D(parentingMode));
+  this->setParentMode2D(Element2D::stringToParentingMode2D(parentingMode));
 }
 
@@ -952,5 +952,5 @@
             this->relCoordinate.y,
             this->getAbsDir2D(),
-            Element2D::parentingModeToChar2D(parentMode),
+            Element2D::parentingModeToString2D(parentMode),
             Element2D::layer2DToChar(this->layer));
 
@@ -1074,5 +1074,5 @@
  * @return the converted string
  */
-const char* Element2D::parentingModeToChar2D(int parentingMode)
+const char* Element2D::parentingModeToString2D(int parentingMode)
 {
   if (parentingMode == E2D_PARENT_LOCAL_ROTATE)
@@ -1093,5 +1093,5 @@
  * @return the int corresponding to the named parentingMode
  */
-E2D_PARENT_MODE Element2D::charToParentingMode2D(const std::string& parentingMode)
+E2D_PARENT_MODE Element2D::stringToParentingMode2D(const std::string& parentingMode)
 {
   if (parentingMode == "local-rotate")
Index: branches/std/src/lib/graphics/render2D/element_2d.h
===================================================================
--- branches/std/src/lib/graphics/render2D/element_2d.h	(revision 7218)
+++ branches/std/src/lib/graphics/render2D/element_2d.h	(revision 7219)
@@ -212,6 +212,6 @@
 
     // helper functions //
-    static const char* parentingModeToChar2D(int parentingMode);
-    static E2D_PARENT_MODE charToParentingMode2D(const std::string& parentingMode);
+    static const char* parentingModeToString2D(int parentingMode);
+    static E2D_PARENT_MODE stringToParentingMode2D(const std::string& parentingMode);
 
     static const char* layer2DToChar(E2D_LAYER layer);
