浏览代码

Fehler beim beenden des Editors behoben

Kolja Strohm 5 年之前
父节点
当前提交
e13f3dd72b
共有 3 个文件被更改,包括 8 次插入1 次删除
  1. 1 1
      Asteroids/Editor/Editor.cpp
  2. 6 0
      Asteroids/Editor/Karte/EditorKarte.cpp
  3. 1 0
      Asteroids/Editor/Karte/EditorKarte.h

+ 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 );