aboutsummaryrefslogtreecommitdiff
path: root/src/graphics/Image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphics/Image.cpp')
-rw-r--r--src/graphics/Image.cpp12
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;
}