Browse Source

Fixed memory leak in CCreatureAnimation

AlexVinS 9 years ago
parent
commit
f0b3a13ed5
1 changed files with 6 additions and 2 deletions
  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);