Explorar o código

lib/mapObjects/IMarket.cpp: Show error message about failed dynamic_cast() even if cast object is nullptr

Alexander Wilms %!s(int64=2) %!d(string=hai) anos
pai
achega
703ab677ba
Modificáronse 1 ficheiros con 8 adicións e 2 borrados
  1. 8 2
      lib/mapObjects/IMarket.cpp

+ 8 - 2
lib/mapObjects/IMarket.cpp

@@ -157,8 +157,14 @@ std::vector<int> IMarket::availableItemsIds(EMarketMode mode) const
 const IMarket * IMarket::castFrom(const CGObjectInstance *obj, bool verbose)
 {
 	auto * imarket = dynamic_cast<const IMarket *>(obj);
-	if(verbose && !imarket && obj)
-		logGlobal->error("Cannot cast to IMarket object type %s", obj->typeName);
+	if(verbose && !imarket)
+	{
+		logGlobal->error("Cannot cast to IMarket");
+		if(obj)
+		{
+			logGlobal->error("Object type %s", obj->typeName);
+		}
+	}
 	return imarket;
 }