Sfoglia il codice sorgente

Do not process pack if it was blocked by a queryReply

Regression from earlier PR
Ivan Savenko 1 anno fa
parent
commit
292f4c8ad2
1 ha cambiato i file con 19 aggiunte e 17 eliminazioni
  1. 19 17
      server/CGameHandler.cpp

+ 19 - 17
server/CGameHandler.cpp

@@ -456,26 +456,28 @@ void CGameHandler::handleReceivedPack(CPackForServer * pack)
 	{
 		sendPackageResponse(false);
 	}
-
-	bool result;
-	try
-	{
-		ApplyGhNetPackVisitor applier(*this);
-		pack->visit(applier);
-		result = applier.getResult();
-	}
-	catch(ExceptionNotAllowedAction &)
+	else
 	{
-		result = false;
-	}
+		bool result;
+		try
+		{
+			ApplyGhNetPackVisitor applier(*this);
+			pack->visit(applier);
+			result = applier.getResult();
+		}
+		catch(ExceptionNotAllowedAction &)
+		{
+			result = false;
+		}
 
-	if(result)
-		logGlobal->trace("Message %s successfully applied!", typeid(*pack).name());
-	else
-		complain((boost::format("Got false in applying %s... that request must have been fishy!")
-			% typeid(*pack).name()).str());
+		if(result)
+			logGlobal->trace("Message %s successfully applied!", typeid(*pack).name());
+		else
+			complain((boost::format("Got false in applying %s... that request must have been fishy!")
+				% typeid(*pack).name()).str());
 
-	sendPackageResponse(true);
+		sendPackageResponse(true);
+	}
 	vstd::clear_pointer(pack);
 }