Explorar o código

Absturz beim senden einer Fehlermeldung an die clients wenn das spiel nicht gestartet werden konnte behoben

Kolja Strohm %!s(int64=4) %!d(string=hai) anos
pai
achega
4dae606bc0
Modificáronse 1 ficheiros con 10 adicións e 2 borrados
  1. 10 2
      SpielServer/Spiel.cpp

+ 10 - 2
SpielServer/Spiel.cpp

@@ -551,7 +551,11 @@ void Spiel::thread()
         tmp += id;
         DateiRemove( tmp );
         for( int i = 0; i < spielerAnzahl; i++ )
-            klients->z( i )->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nict finden." );
+        {
+            SSKlient *tmp = klients->z( i );
+            if( tmp )
+                tmp->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nicht finden." );
+        }
         ss->zDB()->setSpielStatusBeendet( id, 4 );
         ss->removeSpiel( id ); // delete this
         return;
@@ -567,7 +571,11 @@ void Spiel::thread()
         tmp += id;
         DateiRemove( tmp );
         for( int i = 0; i < spielerAnzahl; i++ )
-            klients->z( i )->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nicht finden." );
+        {
+            SSKlient *tmp = klients->z( i );
+            if( tmp )
+                tmp->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nicht finden." );
+        }
         ss->zDB()->setSpielStatusBeendet( id, 4 );
         ss->removeSpiel( id ); // delete this
         return;