diff --git a/project/src/audio/format/OGG.cpp b/project/src/audio/format/OGG.cpp index af578ad6c..aba77fb26 100644 --- a/project/src/audio/format/OGG.cpp +++ b/project/src/audio/format/OGG.cpp @@ -107,6 +107,7 @@ namespace lime { bool OGG::Decode (Resource *resource, AudioBuffer *audioBuffer) { OggVorbis_File oggFile; + Bytes data; if (resource->path) { @@ -130,7 +131,7 @@ namespace lime { } else { lime::fclose (file); - Bytes data = Bytes (resource->path); + data = Bytes (resource->path); OAL_OggMemoryFile fakeFile = { data.Data (), data.Length (), 0 }; @@ -186,10 +187,10 @@ namespace lime { audioBuffer->data->Resize (dataLength); while (bytes > 0) { - - bytes = ov_read (&oggFile, (char *)audioBuffer->data->Data () + totalBytes, BUFFER_SIZE, BUFFER_READ_TYPE, 2, 1, &bitStream); - totalBytes += bytes; - + + bytes = ov_read (&oggFile, (char *)audioBuffer->data->Data () + totalBytes, BUFFER_SIZE, BUFFER_READ_TYPE, 2, 1, &bitStream); + totalBytes += bytes; + } if (dataLength != totalBytes) { diff --git a/project/src/graphics/format/JPEG.cpp b/project/src/graphics/format/JPEG.cpp index 701c43b27..2d865ced8 100644 --- a/project/src/graphics/format/JPEG.cpp +++ b/project/src/graphics/format/JPEG.cpp @@ -191,6 +191,7 @@ namespace lime { jpegError.base.output_message = OnOutput; FILE_HANDLE *file = NULL; + Bytes data = NULL; if (resource->path) { @@ -227,7 +228,7 @@ namespace lime { } else { - Bytes data = Bytes (resource->path); + data = Bytes (resource->path); MySrcManager manager (data.Data (), data.Length ()); cinfo.src = &manager.pub; diff --git a/project/src/graphics/format/PNG.cpp b/project/src/graphics/format/PNG.cpp index 661ac9996..7cc82ed18 100644 --- a/project/src/graphics/format/PNG.cpp +++ b/project/src/graphics/format/PNG.cpp @@ -84,6 +84,7 @@ namespace lime { int bit_depth, color_type, interlace_type; FILE_HANDLE *file = NULL; + Bytes data = NULL; if (resource->path) { @@ -143,7 +144,7 @@ namespace lime { } else { - Bytes data = Bytes (resource->path); + data = Bytes (resource->path); ReadBuffer buffer (data.Data (), data.Length ()); png_set_read_fn (png_ptr, &buffer, user_read_data_fn); diff --git a/project/src/text/Font.cpp b/project/src/text/Font.cpp index 28114b60f..033759f2a 100644 --- a/project/src/text/Font.cpp +++ b/project/src/text/Font.cpp @@ -363,10 +363,10 @@ namespace lime { Bytes data = Bytes (resource->path); faceMemory = (unsigned char*)malloc (data.Length ()); memcpy (faceMemory, data.Data (), data.Length ()); - + lime::fclose (file); file = 0; - + error = FT_New_Memory_Face (library, faceMemory, data.Length (), faceIndex, &face); } @@ -415,11 +415,10 @@ namespace lime { } } else { - + FT_Done_FreeType (library); - free (faceMemory); - + } }