Răsfoiți Sursa

Fixed memory leak in CCreatureAnimation

AlexVinS 9 ani în urmă
părinte
comite
f0b3a13ed5
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      client/battle/CCreatureAnimation.cpp

+ 6 - 2
client/battle/CCreatureAnimation.cpp

@@ -163,7 +163,9 @@ CCreatureAnimation::CCreatureAnimation(std::string name, TSpeedController contro
 		pixelDataSize = data.second;
 	}
 
-	CBinaryReader reader(new CMemoryStream(pixelData.get(), pixelDataSize));
+	CMemoryStream stm(pixelData.get(), pixelDataSize);
+
+	CBinaryReader reader(&stm);
 
 	reader.readInt32(); // def type, unused
 
@@ -307,7 +309,9 @@ void CCreatureAnimation::nextFrameT(SDL_Surface * dest, bool rotate)
 
 	ui32 offset = dataOffsets.at(type).at(floor(currentFrame));
 
-	CBinaryReader reader(new CMemoryStream(pixelData.get(), pixelDataSize));
+	CMemoryStream stm(pixelData.get(), pixelDataSize);
+
+	CBinaryReader reader(&stm);
 
 	reader.getStream()->seek(offset);