浏览代码

Fix usage of a string past its lifetime, and set a default type for encode

Bart van Strien 13 年之前
父节点
当前提交
d525349549
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      src/modules/image/wrap_ImageData.cpp

+ 4 - 2
src/modules/image/wrap_ImageData.cpp

@@ -149,16 +149,18 @@ namespace image
 		if (lua_isstring(L, 2))
 		if (lua_isstring(L, 2))
 			luax_convobj(L, 2, "filesystem", "newFile");
 			luax_convobj(L, 2, "filesystem", "newFile");
 		love::filesystem::File * file = luax_checktype<love::filesystem::File>(L, 2, "File", FILESYSTEM_FILE_T);
 		love::filesystem::File * file = luax_checktype<love::filesystem::File>(L, 2, "File", FILESYSTEM_FILE_T);
+		std::string ext;
 		const char * fmt;
 		const char * fmt;
 		if (lua_isnoneornil(L, 3))
 		if (lua_isnoneornil(L, 3))
 		{
 		{
-			fmt = file->getExtension().c_str();
+			ext = file->getExtension();
+			fmt = ext.c_str();
 		}
 		}
 		else
 		else
 		{
 		{
 			fmt = luaL_checkstring(L, 3);
 			fmt = luaL_checkstring(L, 3);
 		}
 		}
-		ImageData::Format format;
+		ImageData::Format format = ImageData::FORMAT_PNG;
 		ImageData::getConstant(fmt, format);
 		ImageData::getConstant(fmt, format);
 		try
 		try
 		{
 		{