From f498d80c587033bffb9abedb2b0827ad8d4a2a32 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 2 Feb 2012 05:11:50 +0300 Subject: Add some checks after automatic checking. --- src/guichan/gui.cpp | 2 ++ src/guichan/include/guichan/sdl/sdlpixel.hpp | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'src/guichan') diff --git a/src/guichan/gui.cpp b/src/guichan/gui.cpp index 3f5581424..1ade3f138 100644 --- a/src/guichan/gui.cpp +++ b/src/guichan/gui.cpp @@ -618,6 +618,7 @@ namespace gcn { Widget* widget = getWidgetAt(x, y); + //+++ possible nullpointer if (mFocusHandler->getModalMouseInputFocused() && !widget->isModalMouseInputFocused()) { @@ -631,6 +632,7 @@ namespace gcn { Widget* widget = mFocusHandler->getFocused(); + //+++ possible nullpointer while (widget->_getInternalFocusHandler() && widget->_getInternalFocusHandler()->getFocused()) { diff --git a/src/guichan/include/guichan/sdl/sdlpixel.hpp b/src/guichan/include/guichan/sdl/sdlpixel.hpp index 675b10fcd..809ae4649 100644 --- a/src/guichan/include/guichan/sdl/sdlpixel.hpp +++ b/src/guichan/include/guichan/sdl/sdlpixel.hpp @@ -60,6 +60,9 @@ namespace gcn */ inline const Color SDLgetPixel(SDL_Surface* surface, int x, int y) { + if (!surface) + return Color(0, 0, 0, 0); + int bpp = surface->format->BytesPerPixel; SDL_LockSurface(surface); @@ -112,6 +115,9 @@ namespace gcn inline void SDLputPixel(SDL_Surface* surface, int x, int y, const Color& color) { + if (!surface) + return; + int bpp = surface->format->BytesPerPixel; SDL_LockSurface(surface); -- cgit v1.2.3-70-g09d2