瀏覽代碼

Fixed memory leak in CCreatureAnimation

AlexVinS 9 年之前
父節點
當前提交
f0b3a13ed5
共有 1 個文件被更改,包括 6 次插入2 次删除
  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);