summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2006-11-12 16:03:52 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2006-11-12 16:03:52 +0000
commit81567749246fd4f3fb3a9c1fdbaae41327459612 (patch)
tree2dd71710e2f2e0feddbc5a066a1ee0dd05f53cf4
parent3262d5319c5f2cc830b3b783880df4b1b5d95710 (diff)
downloadmana-client-81567749246fd4f3fb3a9c1fdbaae41327459612.tar.gz
mana-client-81567749246fd4f3fb3a9c1fdbaae41327459612.tar.bz2
mana-client-81567749246fd4f3fb3a9c1fdbaae41327459612.tar.xz
mana-client-81567749246fd4f3fb3a9c1fdbaae41327459612.zip
Worked around a Guichan exception thrown for mice with many buttons (patch by
Roel van Dijk).
-rw-r--r--ChangeLog2
-rw-r--r--NEWS2
-rw-r--r--src/game.cpp14
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d774b74..674fd3d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
beings blocking the road. This is done by allowing walking over other
beings, but at an additional cost so that it is preferable to walk
around them.
+ * src/game.cpp: Worked around a Guichan exception thrown for mice with
+ many buttons (patch by Roel van Dijk).
2006-11-09 Eugenio Favalli <elvenprogrammer@gmail.com>
diff --git a/NEWS b/NEWS
index 3ccc49b3..8d11079e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
0.0.21.2 (...)
- Changed to new update host (http://updates.themanaworld.org)
+- Worked around a Guichan exception thrown for mice with many buttons
- Fixed money field to no longer hide below the bottom of the window
+- Fixed pathfinding to allow walking through beings when they block your path
0.0.21.1 (30 October 2006)
- Reload wallpaper after loading updates
diff --git a/src/game.cpp b/src/game.cpp
index b07c5c9a..ba65298f 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -29,6 +29,7 @@
#include <string>
#include <guichan/sdl/sdlinput.hpp>
+#include <guichan/exception.hpp>
#include "beingmanager.h"
#include "configuration.h"
@@ -627,8 +628,17 @@ void Game::handleInput()
}
// Push input to GUI when not used
- if (!used) {
- guiInput->pushInput(event);
+ if (!used)
+ {
+ try
+ {
+ guiInput->pushInput(event);
+ }
+ catch (gcn::Exception e)
+ {
+ const char* err = e.getMessage().c_str();
+ logger->log("Warning: guichan input exception: %s", err);
+ }
}
} // End while