Procházet zdrojové kódy

Fehler beim beenden des Editors behoben

Kolja Strohm před 5 roky
rodič
revize
e13f3dd72b

+ 1 - 1
Asteroids/Editor/Editor.cpp

@@ -38,7 +38,7 @@ AsteroidsEditor::~AsteroidsEditor()
     if( i )
         i->release();
     if( daten->isRunning() )
-        daten->warteAufThread( INT_MAX );
+        daten->exitThread();
     if( daten )
         daten->release();
     dialogs->release();

+ 6 - 0
Asteroids/Editor/Karte/EditorKarte.cpp

@@ -121,6 +121,12 @@ void KarteDaten::thread()
     }
 }
 
+void KarteDaten::exitThread()
+{
+    exit = 1;
+    warteAufThread( INT_MAX );
+}
+
 const ObjektDaten *KarteDaten::getObjekt( int index )
 {
     ObjektDaten *ret = 0;

+ 1 - 0
Asteroids/Editor/Karte/EditorKarte.h

@@ -87,6 +87,7 @@ namespace Editor
         void getSpieler( int index, std::function< bool( SpielerDaten* ) > callBack );
         void getTeam( int index, std::function< bool( TeamDaten* ) > callBack );
         void thread() override;
+        void exitThread();
         const ObjektDaten *getObjekt( int index );
         const SpielerDaten *getSpieler( int index );
         const TeamDaten *getTeam( int index );