diff options
Diffstat (limited to 'src/resources/resourcemanager.cpp')
-rw-r--r-- | src/resources/resourcemanager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index 542a96a9e..bd739644c 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -1012,7 +1012,15 @@ SDL_Surface *ResourceManager::loadSDLSurface(const std::string &filename) const { SDL_Surface *surface = nullptr; if (SDL_RWops *const rw = PHYSFSRWOPS_openRead(filename.c_str())) - surface = IMG_Load_RW(rw, 1); + { + if (!IMG_isPNG(rw)) + { + logger->log("Error, image is not png: " + filename); + return nullptr; + } + surface = IMG_LoadPNG_RW(rw); + SDL_RWclose(rw); + } return surface; } |