[Orxonox-commit 1097] r5818 - in code/branches/core5/src: libraries/core modules/gamestates modules/overlays/stats

rgrieder at orxonox.net rgrieder at orxonox.net
Sun Sep 27 22:26:49 CEST 2009


Author: rgrieder
Date: 2009-09-27 22:26:49 +0200 (Sun, 27 Sep 2009)
New Revision: 5818

Modified:
   code/branches/core5/src/libraries/core/SubclassIdentifier.h
   code/branches/core5/src/modules/gamestates/GSLevel.cc
   code/branches/core5/src/modules/overlays/stats/Scoreboard.cc
   code/branches/core5/src/modules/overlays/stats/Scoreboard.h
Log:
Small bugfix for the second to last commit: InputStates only exist in graphics mode.
And added destruction code for the ScoreBoard.

Modified: code/branches/core5/src/libraries/core/SubclassIdentifier.h
===================================================================
--- code/branches/core5/src/libraries/core/SubclassIdentifier.h	2009-09-27 20:17:54 UTC (rev 5817)
+++ code/branches/core5/src/libraries/core/SubclassIdentifier.h	2009-09-27 20:26:49 UTC (rev 5818)
@@ -37,10 +37,9 @@
 #ifndef _SubclassIdentifier_H__
 #define _SubclassIdentifier_H__
 
-#include <cstdlib>
-
 #include "CorePrereqs.h"
 
+#include <cstdlib>
 #include "util/Debug.h"
 #include "Identifier.h"
 

Modified: code/branches/core5/src/modules/gamestates/GSLevel.cc
===================================================================
--- code/branches/core5/src/modules/gamestates/GSLevel.cc	2009-09-27 20:17:54 UTC (rev 5817)
+++ code/branches/core5/src/modules/gamestates/GSLevel.cc	2009-09-27 20:26:49 UTC (rev 5818)
@@ -195,8 +195,6 @@
 
         if (this->scope_GSLevel_)
         {
-            InputManager::getInstance().destroyState("guiKeysOnly");
-            InputManager::getInstance().destroyState("guiMouseOnly");
             delete this->scope_GSLevel_;
             this->scope_GSLevel_ = NULL;
         }
@@ -207,6 +205,8 @@
             guiMouseOnlyInputState_->setHandler(0);
             guiKeysOnlyInputState_->setHandler(0);
             InputManager::getInstance().destroyState("game");
+            InputManager::getInstance().destroyState("guiKeysOnly");
+            InputManager::getInstance().destroyState("guiMouseOnly");
             if (this->keyBinder_)
             {
                 this->keyBinder_->destroy();

Modified: code/branches/core5/src/modules/overlays/stats/Scoreboard.cc
===================================================================
--- code/branches/core5/src/modules/overlays/stats/Scoreboard.cc	2009-09-27 20:17:54 UTC (rev 5817)
+++ code/branches/core5/src/modules/overlays/stats/Scoreboard.cc	2009-09-27 20:26:49 UTC (rev 5818)
@@ -45,6 +45,16 @@
         RegisterObject(Scoreboard);
     }
 
+    Scoreboard::~Scoreboard()
+    {
+        while (this->lines_.size() > 0)
+        {
+            // destroy lines
+            delete this->lines_.back();
+            this->lines_.pop_back();
+        }
+    }
+
     /**
         @brief Initializes the lines.
     */

Modified: code/branches/core5/src/modules/overlays/stats/Scoreboard.h
===================================================================
--- code/branches/core5/src/modules/overlays/stats/Scoreboard.h	2009-09-27 20:17:54 UTC (rev 5817)
+++ code/branches/core5/src/modules/overlays/stats/Scoreboard.h	2009-09-27 20:26:49 UTC (rev 5818)
@@ -41,7 +41,7 @@
     {
     public: // functions
         Scoreboard(BaseObject* creator);
-        virtual ~Scoreboard() {}
+        virtual ~Scoreboard();
 
         virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
         virtual void tick(float dt);




More information about the Orxonox-commit mailing list