diff --git a/project/include/utils/FileIO.h b/project/include/utils/FileIO.h index d2e4d7593..c7129dfe1 100644 --- a/project/include/utils/FileIO.h +++ b/project/include/utils/FileIO.h @@ -15,6 +15,7 @@ namespace lime { FILE* getFile (); int getLength (); + bool isFile (); }; diff --git a/project/src/backend/sdl/SDLFileIO.cpp b/project/src/backend/sdl/SDLFileIO.cpp index 6270af549..7ceba0161 100644 --- a/project/src/backend/sdl/SDLFileIO.cpp +++ b/project/src/backend/sdl/SDLFileIO.cpp @@ -38,6 +38,13 @@ namespace lime { } + bool FILE_HANDLE::isFile () { + + return ((SDL_RWops*)handle)->type == SDL_RWOPS_STDFILE; + + } + + int fclose (FILE_HANDLE *stream) { if (stream) { diff --git a/project/src/graphics/format/JPEG.cpp b/project/src/graphics/format/JPEG.cpp index 42bc74a69..fbd143576 100644 --- a/project/src/graphics/format/JPEG.cpp +++ b/project/src/graphics/format/JPEG.cpp @@ -211,7 +211,7 @@ namespace lime { file = lime::fopen (resource->path, "rb"); - if (file->getFile ()) { + if (file->isFile ()) { jpeg_stdio_src (&cinfo, file->getFile ()); diff --git a/project/src/graphics/format/PNG.cpp b/project/src/graphics/format/PNG.cpp index 224d0e517..93982c965 100644 --- a/project/src/graphics/format/PNG.cpp +++ b/project/src/graphics/format/PNG.cpp @@ -136,7 +136,7 @@ namespace lime { if (file) { - if (file->getFile ()) { + if (file->isFile ()) { png_init_io (png_ptr, file->getFile ()); png_set_sig_bytes (png_ptr, PNG_SIG_SIZE); diff --git a/project/src/utils/FileIO.cpp b/project/src/utils/FileIO.cpp index 70878fe2e..066b13676 100644 --- a/project/src/utils/FileIO.cpp +++ b/project/src/utils/FileIO.cpp @@ -22,6 +22,13 @@ namespace lime { } + bool FILE_HANDLE::isFile () { + + return true; + + } + + int fclose (FILE_HANDLE *stream) { if (stream) {