Explorar el Código

Memory leaks behoben

Kolja Strohm hace 5 años
padre
commit
17dffca7ab

+ 2 - 2
Asteroids/Initialisierung/Initialisierung.cpp

@@ -206,9 +206,9 @@ ObjTabelle *initObjTabelle( int x, int y, int br, int h
 	return ret;
 }
 
-void initToolTip( Zeichnung *obj, const char *txt, Schrift *schrift, Bildschirm *zBs )
+void initToolTip( Zeichnung *obj, const char *txt, Schrift *zSchrift, Bildschirm *zBs )
 {
-	obj->setToolTipText( txt, zBs, schrift );
+	obj->setToolTipText( txt, zBs, zSchrift );
 	obj->zToolTip()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Hintergrund | TextFeld::Style::HAlpha | TextFeld::Style::Mehrzeilig );
 	obj->zToolTip()->setHintergrundFarbe( 0xA0000000 );
 	obj->zToolTip()->setRahmenFarbe( 0xFFFFFFFF );

+ 1 - 1
Asteroids/Initialisierung/Initialisierung.h

@@ -27,6 +27,6 @@ TextFeld *initTextFeld( int x, int y, int br, int h
 BildZ *initBildZ( int x, int y, int br, int hö, int style, Bild *b );
 AuswahlBox *initAuswahlBox( int x, int y, int br, int hö, Schrift *zSchrift, __int64 style, std::initializer_list< char * > values );
 ObjTabelle *initObjTabelle( int x, int y, int br, int hö, Schrift *zSchrift, int style, std::initializer_list< OBJTabelleSpalteIni > spalten, int überschriftHöhe );
-void initToolTip( Zeichnung *obj, const char *txt, Schrift *schrift, Bildschirm *zBs );
+void initToolTip( Zeichnung *obj, const char *txt, Schrift *zSchrift, Bildschirm *zBs );
 
 #endif

+ 0 - 15
Asteroids/Spiel/Schuss/Laser.cpp

@@ -92,19 +92,4 @@ int Laser::getSpieler() const
 double Laser::getIntensität( Vertex targetSpeed ) const
 {
     return intensität * ( ( speed - targetSpeed ).getLength() / 200 );
-}
-
-// Reference Counting
-Laser *Laser::getThis()
-{
-    ref++;
-    return this;
-}
-
-Laser *Laser::release()
-{
-    ref--;
-    if( !ref )
-        delete this;
-    return 0;
 }

+ 0 - 3
Asteroids/Spiel/Schuss/Laser.h

@@ -40,9 +40,6 @@ public:
 	int getId() const;
 	int getSpieler() const;
 	double getIntensität( Vertex targetSpeed ) const;
-	// Reference Counting
-	Laser *getThis();
-	Laser *release();
 };
 
 #endif

+ 0 - 2
Asteroids/Spiel/SpielKlasse.h

@@ -41,8 +41,6 @@ private:
     Welt2D *welt;
 	SpielChat *chat;                                                                                                   
 	Ende *end;
-	Model2DData *shipData;
-	Bild *shipTextur;
 	SpielerGUI *shipGUI;
     Datei csv;
     RCArray< DeadPlayer > *deads;

+ 11 - 9
Asteroids/Spiel/Spieler/Spieler.cpp

@@ -25,7 +25,6 @@ Spieler::Spieler( KSGClient::InformationServerClient *zInfoK, Schrift *zSchrift,
     repAbk = 0;
     reinkAbk = 0;
     maxReinkAbk = 5;
-    ref = 1;
     startPos = zStr->pos;
     setPosition( startPos );
     setDrehung( (float)zStr->rot );
@@ -73,6 +72,9 @@ Spieler::~Spieler()
     flammenL->release();
     flammenR->release();
     flammenM->release();
+    nText->release();
+    if( deadPlayer )
+        deadPlayer->release();
 }
 
 double Spieler::calculateLaserCost()
@@ -86,7 +88,7 @@ double Spieler::calculateLaserCost()
 }
 
 // nicht constant
-void Spieler::setModelData( Model2DData *data, Animation2DData *zFStart, Animation2DData *zFBurn )
+void Spieler::setModelData( Model2DData * data, Animation2DData * zFStart, Animation2DData * zFBurn )
 {
     for( auto i = data->polygons->getIterator(); i; i++ )
     {
@@ -165,7 +167,7 @@ void Spieler::setAccountId( int accId )
         nText->setText( *name );
 }
 
-void Spieler::setTeam( Team *team )
+void Spieler::setTeam( Team * team )
 {
     if( this->team )
         this->team->release();
@@ -174,7 +176,7 @@ void Spieler::setTeam( Team *team )
     nText->setRahmenFarbe( team->farbe );
 }
 
-void Spieler::setSpielerFarbe( int fc, Bild *zTextur )
+void Spieler::setSpielerFarbe( int fc, Bild * zTextur )
 {
     farbe = fc;
     nText->setSchriftFarbe( fc );
@@ -229,7 +231,7 @@ void Spieler::setTastataturStatus( TastaturStatus ts, bool aktiv )
     }
 }
 
-bool Spieler::tick( const WeltInfo &info, double tv )
+bool Spieler::tick( const WeltInfo & info, double tv )
 {
     bool ret = 0;
     if( !team )
@@ -312,7 +314,7 @@ bool Spieler::tick( const WeltInfo &info, double tv )
     return ret;
 }
 
-void Spieler::render( Mat3< float > &kamMat, Bild &zRObj, const char *kamName )
+void Spieler::render( Mat3< float > & kamMat, Bild & zRObj, const char *kamName )
 {
     if( !amLeben )
         return;
@@ -322,7 +324,7 @@ void Spieler::render( Mat3< float > &kamMat, Bild &zRObj, const char *kamName )
     renderLeben( kamMat, zRObj );
 }
 
-void Spieler::renderLeben( const Mat3< float > &kamMat, Bild &zRObj )
+void Spieler::renderLeben( const Mat3< float > & kamMat, Bild & zRObj )
 {
     if( !team || !amLeben )
         return;
@@ -435,7 +437,7 @@ void Spieler::nimmSchaden( double &intensit
     repAbk = 2;
 }
 
-void Spieler::calcDeadPlayerObject( Laser *zSchuss )
+void Spieler::calcDeadPlayerObject( Laser * zSchuss )
 {
     Vertex hp;
     Polygon2D a;
@@ -490,7 +492,7 @@ DeadPlayer *Spieler::sterben()
     reinkAbk += maxReinkAbk;
     maxReinkAbk++;
     punkte--;
-    return deadPlayer ? (DeadPlayer*)deadPlayer->getThis() : 0;
+    return deadPlayer ? (DeadPlayer *)deadPlayer->getThis() : 0;
 }
 
 void Spieler::wiederbelebung()

+ 1 - 0
Asteroids/Spiel/SpielerGUI/SpielerGUI.cpp

@@ -122,6 +122,7 @@ SpielerGUI::~SpielerGUI()
     energieSchildEffizienzSkill->release();
     netzwerkSkill->release();
     skillPoints->release();
+    speed->release();
 }
 
 // nicht constant

+ 0 - 2
Asteroids/SpielStatistik/Tabelle/StatistikTabelle.cpp

@@ -47,8 +47,6 @@ StatistikTabelle::StatistikTabelle( Array< SSDSpieler* > *ssdgs, Array< SSDTeam*
 // Destruktor
 StatistikTabelle::~StatistikTabelle()
 {
-	tabelleLehren( gesamtSpieler, 1 );
-	tabelleLehren( gesamtTeam, 1 );
 	schrift->release();
 	ssdgs->release();
 	ssdgt->release();