diff options
Diffstat (limited to 'src/guichan')
-rw-r--r-- | src/guichan/gui.cpp | 2 | ||||
-rw-r--r-- | src/guichan/include/guichan/sdl/sdlpixel.hpp | 6 |
2 files changed, 8 insertions, 0 deletions
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); |