From 30ada3c13f63ef35ccdd21ca76fb45aa9fb1dc3c Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sun, 22 Jul 2012 22:31:02 +0200 Subject: WINTERMUTE: Check for failure when decoding images. --- engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp | 8 ++++++-- engines/wintermute/base/gfx/osystem/base_surface_osystem.h | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'engines/wintermute/base/gfx') diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp index 0de31349fd..772f7c35ba 100644 --- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp +++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.cpp @@ -116,9 +116,11 @@ bool BaseSurfaceOSystem::create(const char *filename, bool defaultCK, byte ckRed return STATUS_OK; } -void BaseSurfaceOSystem::finishLoad() { +bool BaseSurfaceOSystem::finishLoad() { BaseImage *image = new BaseImage(_gameRef); - image->loadFile(_filename); + if (!image->loadFile(_filename)) { + return false; + } _width = image->getSurface()->w; _height = image->getSurface()->h; @@ -188,6 +190,8 @@ void BaseSurfaceOSystem::finishLoad() { delete image; _loaded = true; + + return true; } ////////////////////////////////////////////////////////////////////////// diff --git a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h index bece031fe7..3a8d64703f 100644 --- a/engines/wintermute/base/gfx/osystem/base_surface_osystem.h +++ b/engines/wintermute/base/gfx/osystem/base_surface_osystem.h @@ -85,7 +85,7 @@ public: private: Graphics::Surface *_surface; bool _loaded; - void finishLoad(); + bool finishLoad(); bool drawSprite(int x, int y, Rect32 *rect, float zoomX, float zoomY, uint32 alpha, bool alphaDisable, TSpriteBlendMode blendMode, bool mirrorX, bool mirrorY, int offsetX = 0, int offsetY = 0); void genAlphaMask(Graphics::Surface *surface); uint32 getPixel(Graphics::Surface *surface, int x, int y); -- cgit v1.2.3