Pārlūkot izejas kodu

Memory Leaks behoben

Kolja Strohm 6 gadi atpakaļ
vecāks
revīzija
7372c30cc4

+ 10 - 3
Test/DLLDateien.cpp

@@ -2,10 +2,17 @@
 
 // Inhalt der DLLDateien Klasse aus DLLDateien.h
 // Konstruktor
-DLLDateien::DLLDateien()
+DLLDateien::DLLDateien() noexcept
 {
-    dlls = new Array< DLLDatei* >();
-    ref = 1;
+    try
+    {
+        dlls = new Array< DLLDatei* >();
+        ref = 1;
+    }
+    catch( std::exception e )
+    {
+
+    }
 }
 
 // Destruktor

+ 1 - 1
Test/DLLDateien.h

@@ -23,7 +23,7 @@ private:
 
 public:
     // Konstruktor
-    DLLDateien();
+    DLLDateien() noexcept;
     // Destruktor
     ~DLLDateien();
     // nicht constant

+ 2 - 4
Test/Main.cpp

@@ -32,9 +32,6 @@ void FClose( void *p, void *zF )
     StopNachrichtenSchleife( ( (WFenster*)zF )->getFensterHandle() );
 }
 
-int kamera2DTest();
-int rotationTest();
-
 void doStuff()
 {
     WFenster *f = new WFenster();
@@ -58,7 +55,7 @@ void doStuff()
     Schrift *schrift = sd.ladeSchrift();
     DLLDateien dlls;
 
-    MiniGames *mGames = new MiniGames( schrift, dlls.getThis(), b->getThis() );
+    MiniGames *mGames = new MiniGames( schrift, dlls.getThis(), b );
     b->addMember( mGames );
 
     b->update();
@@ -73,6 +70,7 @@ void doStuff()
     f->setBildschirm( 0 );
     b->release();
     f->release();
+    schrift->release();
 }
 
 int main()

+ 2 - 1
Test/Minigames.cpp

@@ -11,7 +11,7 @@ class MSCWrapper : public KSGClient::MinigameServerClient
 private:
     int ref;
 public:
-    MSCWrapper()
+    MSCWrapper() noexcept
     {
         ref = 1;
     }
@@ -330,6 +330,7 @@ void MiniGames::addMiniGame( MiniGame *mg )
         fertig[ p ] = 1;
         games->z( p )->setPosition( 10 + 10 * ( i % 3 ) + 250 * ( i % 3 ), 50 + 10 * ( i / 3 ) + 100 * ( i / 3 ) );
     }
+    delete[] fertig;
 }
 
 void MiniGames::doMausEreignis( MausEreignis &me )

+ 5 - 0
Test/data/Minigames/Blöcke/data/optionen.ini

@@ -0,0 +1,5 @@
+Breite=20
+Height=12
+Farben=5
+Geschwindigkeit=4000
+Fortsetzen=0

BIN
Test/data/Minigames/Blöcke/data/score.ksgt


+ 6 - 0
Test/data/Minigames/Fangen/data/optionen.ini

@@ -0,0 +1,6 @@
+Breite=800
+Höhe=500
+Ziele=1
++Gegner=3
+Geschwindigkeit=1000
+Fortsetzen=0

BIN
Test/data/Minigames/Fangen/data/score.ksgt


+ 6 - 0
Test/data/Minigames/Snake/data/optionen.ini

@@ -0,0 +1,6 @@
+Breite=80
+Höhe=50
+Ziele=1
+Anhängen=10
+Geschwindigkeit=10
+Fortsetzen=0

BIN
Test/data/Minigames/Snake/data/score.ksgt


BIN
Test/data/Minigames/Tetris/data/game.mgc


BIN
Test/data/Minigames/Tetris/data/game.save


+ 5 - 0
Test/data/Minigames/Tetris/data/optionen.ini

@@ -0,0 +1,5 @@
+Breite=15
+Höhe=25
++Geschwindigkeit=50
+Geschwindigkeit=1000
+Fortsetzen=0