Procházet zdrojové kódy

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

Kolja Strohm před 4 roky
rodič
revize
4dae606bc0
1 změnil soubory, kde provedl 10 přidání a 2 odebrání
  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;