Răsfoiți Sursa

Fix crash if ID not exists

Laserlicht 2 luni în urmă
părinte
comite
f7adb39551
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      lib/modding/IdentifierStorage.cpp

+ 2 - 1
lib/modding/IdentifierStorage.cpp

@@ -418,7 +418,8 @@ std::vector<CIdentifierStorage::ObjectData> CIdentifierStorage::getPossibleIdent
 	}
 
 	std::string fullID = request.type + '.' + request.name;
-	std::string fullIDCaseCorrected = request.caseSensitive ? fullID : registeredObjectsCaseLookup.at(boost::algorithm::to_lower_copy(fullID));
+	std::string fullLowerID = boost::algorithm::to_lower_copy(fullID);
+	std::string fullIDCaseCorrected = (request.caseSensitive || !registeredObjectsCaseLookup.count(fullLowerID)) ? fullID : registeredObjectsCaseLookup.at(fullLowerID);
 
 	auto entries = registeredObjects.equal_range(fullIDCaseCorrected);