aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorEugene Sandulenko2016-04-17 14:59:03 +0200
committerEugene Sandulenko2016-04-17 14:59:03 +0200
commitdc2726059cc666d5a3a3a9b5080671542cb1b1cc (patch)
tree4364305423da73105fac24766d8d42de8bad0ff7 /gui
parent1544adf116d3a305e504f4421ceab37e6a3192ab (diff)
parent8aee3cffdcca851de6ee515d896342f863f85538 (diff)
downloadscummvm-rg350-dc2726059cc666d5a3a3a9b5080671542cb1b1cc.tar.gz
scummvm-rg350-dc2726059cc666d5a3a3a9b5080671542cb1b1cc.tar.bz2
scummvm-rg350-dc2726059cc666d5a3a3a9b5080671542cb1b1cc.zip
Merge pull request #740 from fuzzie/readline-dropevents
DEBUGGER: Drop events when using readline debugger
Diffstat (limited to 'gui')
-rw-r--r--gui/debugger.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index c9b435963d..72d05e2973 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -42,6 +42,7 @@
#elif defined(USE_READLINE)
#include <readline/readline.h>
#include <readline/history.h>
+ #include "common/events.h"
#endif
@@ -191,6 +192,15 @@ char *readline_completionFunction(const char *text, int state) {
return g_readline_debugger->readlineComplete(text, state);
}
+void readline_eventFunction() {
+ Common::EventManager *eventMan = g_system->getEventManager();
+
+ Common::Event event;
+ while (eventMan->pollEvent(event)) {
+ // drop all events
+ }
+}
+
#ifdef USE_READLINE_INT_COMPLETION
typedef int RLCompFunc_t(const char *, int);
#else
@@ -228,6 +238,7 @@ void Debugger::enter() {
g_readline_debugger = this;
rl_completion_entry_function = (RLCompFunc_t *)&readline_completionFunction;
+ rl_event_hook = (rl_hook_func_t *)&readline_eventFunction;
char *line_read = 0;
do {