Kaynağa Gözat

Memory leak und anzeigefehler behoben

Kolja Strohm 5 yıl önce
ebeveyn
işleme
706ee353ad

+ 2 - 2
Asteroids/Editor/Editor.cpp

@@ -189,14 +189,14 @@ void AsteroidsEditor::doMausEreignis( MausEreignis & me )
         if( me.id == ME_PLinks )
         {
             Vertex pos = kamera->getWorldCoordinates( Punkt( me.mx, me.my ) );
-            moveObj = (EditorObject *)daten->zWelt()->getObjectAt( (int)pos.x, (int)pos.y );
+            moveObj = (EditorObject *)daten->zWelt()->zObjectAt( (int)pos.x, (int)pos.y );
             if( moveObj )
                 me.verarbeitet = 1;
         }
         if( me.id == ME_PMitte )
         {
             Vertex pos = kamera->getWorldCoordinates( Punkt( me.mx, me.my ) );
-            rotObj = (EditorObject *)daten->zWelt()->getObjectAt( (int)pos.x, (int)pos.y );
+            rotObj = (EditorObject *)daten->zWelt()->zObjectAt( (int)pos.x, (int)pos.y );
             if( rotObj )
                 me.verarbeitet = 1;
         }

+ 3 - 6
Asteroids/Editor/Interface/Dialogs/Nachricht.cpp

@@ -23,10 +23,10 @@ Nachricht::Nachricht( TextRenderer *tr, char *nachricht, Punkt maxSize, std::fun
     setSize( br + 12, hö + 63 );
     setPosition( maxSize / 2 - getSize() / 2 );
 
-    this->text = initTextFeld( 5, 5, br, hö, tr->zSchrift(), TextFeld::Style::Text, tmp->getText() );
+    TextFeld *text = initTextFeld( 5, 5, br, hö, tr->zSchrift(), TextFeld::Style::Text, tmp->getText() );
     addMember( text );
     tmp->release();
-    ok = initKnopf( br - 94, hö + 12, 100, 20, tr->zSchrift(), Knopf::Style::Normal, "Ok" );
+    Knopf *ok = initKnopf( br - 94, hö + 12, 100, 20, tr->zSchrift(), Knopf::Style::Normal, "Ok" );
     addMember( ok );
     bool *verl = &verlassen;
 
@@ -47,7 +47,4 @@ Nachricht::Nachricht( TextRenderer *tr, char *nachricht, Punkt maxSize, std::fun
 
 // Destruktor
 Nachricht::~Nachricht()
-{
-    text->release();
-    ok->release();
-}
+{}

+ 0 - 4
Asteroids/Editor/Interface/Dialogs/Nachricht.h

@@ -7,10 +7,6 @@ using namespace Framework;
 
 class Nachricht : public Dialog
 {
-private:
-    Knopf *ok;
-    TextFeld *text;
-
 public:
     // Konstruktor
     //  tr: Die zu verwendende Schrift

+ 16 - 0
Asteroids/Editor/Interface/RightTools/ObjektOptionen/ObjektOptionen.cpp

@@ -196,8 +196,10 @@ ObjektTool::ObjektTool( Schrift *zSchrift, KarteDaten *daten )
     {
         if( me.id == ME_RLinks )
         {
+            int ausw = objekte->getAuswahl();
             this->daten->removeObjekt( this->daten->getObjektIndexById( *objekte->zEintrag( objekte->getAuswahl() )->zText() ) );
             selectObject( 0 );
+            objekte->removeEintrag( ausw );
         }
         return 1;
     } );
@@ -394,7 +396,14 @@ void ObjektTool::selectObject( int id )
         akkuLeistungT->removeStyle( M2DVorschau::Style::Sichtbar );
         akkuLeistung->removeStyle( M2DVorschau::Style::Sichtbar );
         team->removeStyle( M2DVorschau::Style::Sichtbar );
+        verwundbar->removeStyle( KontrollKnopf::Style::Sichtbar );
+        beweglich->removeStyle( KontrollKnopf::Style::Sichtbar );
+        collision->removeStyle( KontrollKnopf::Style::Sichtbar );
+        laserCollision->removeStyle( KontrollKnopf::Style::Sichtbar );
+        neutral->removeStyle( KontrollKnopf::Style::Sichtbar );
+        erfahrung->removeStyle( KontrollKnopf::Style::Sichtbar );
         speichern->removeStyle( M2DVorschau::Style::Sichtbar );
+        löschen->removeStyle( KontrollKnopf::Style::Sichtbar );
     }
     else
     {
@@ -441,6 +450,13 @@ void ObjektTool::selectObject( int id )
         akkuLeistungT->addStyle( M2DVorschau::Style::Sichtbar );
         akkuLeistung->addStyle( M2DVorschau::Style::Sichtbar );
         team->addStyle( M2DVorschau::Style::Sichtbar );
+        verwundbar->addStyle( KontrollKnopf::Style::Sichtbar );
+        beweglich->addStyle( KontrollKnopf::Style::Sichtbar );
+        collision->addStyle( KontrollKnopf::Style::Sichtbar );
+        laserCollision->addStyle( KontrollKnopf::Style::Sichtbar );
+        neutral->addStyle( KontrollKnopf::Style::Sichtbar );
+        erfahrung->addStyle( KontrollKnopf::Style::Sichtbar );
         speichern->addStyle( M2DVorschau::Style::Sichtbar );
+        löschen->addStyle( KontrollKnopf::Style::Sichtbar );
     }
 }

+ 1 - 0
Asteroids/Initialisierung/Initialisierung.cpp

@@ -42,6 +42,7 @@ KontrollKnopf *initKontrollKnopf( int x, int y, int br, int h
 	ret->setPosition( x, y );
 	ret->setSize( br, hö );
 	ret->loadData( "data/bilder/system.ltdb" );
+    ret->setMausEreignis( _ret1ME );
 	return ret;
 }