diff options
Diffstat (limited to 'src/graphics/Image.cpp')
-rw-r--r-- | src/graphics/Image.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/graphics/Image.cpp b/src/graphics/Image.cpp index 74a9866..30cdb93 100644 --- a/src/graphics/Image.cpp +++ b/src/graphics/Image.cpp @@ -11,14 +11,18 @@ namespace mgl { } bool Image::load_from_file(const char *filepath) { - if(image.data) - return false; + if(image.data) { + mgl_image_unload(&image); + memset(&image, 0, sizeof(image)); + } return mgl_image_load_from_file(&image, filepath) == 0; } bool Image::load_from_memory(const unsigned char *data, size_t size) { - if(image.data) - return false; + if(image.data) { + mgl_image_unload(&image); + memset(&image, 0, sizeof(image)); + } return mgl_image_load_from_memory(&image, data, size) == 0; } |