summaryrefslogtreecommitdiff
path: root/src/guichan
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-02-02 05:11:50 +0300
committerAndrei Karas <akaras@inbox.ru>2012-02-02 05:11:50 +0300
commitf498d80c587033bffb9abedb2b0827ad8d4a2a32 (patch)
tree82da8928768b2159c199c2d033388a071f228582 /src/guichan
parent1ba44aeb62414ea349e462b6d4fccbaac00be115 (diff)
downloadManaVerse-f498d80c587033bffb9abedb2b0827ad8d4a2a32.tar.gz
ManaVerse-f498d80c587033bffb9abedb2b0827ad8d4a2a32.tar.bz2
ManaVerse-f498d80c587033bffb9abedb2b0827ad8d4a2a32.tar.xz
ManaVerse-f498d80c587033bffb9abedb2b0827ad8d4a2a32.zip
Add some checks after automatic checking.
Diffstat (limited to 'src/guichan')
-rw-r--r--src/guichan/gui.cpp2
-rw-r--r--src/guichan/include/guichan/sdl/sdlpixel.hpp6
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);