diff options
author | Alyssa Milburn | 2016-04-01 14:46:52 +0200 |
---|---|---|
committer | Alyssa Milburn | 2016-04-01 14:49:25 +0200 |
commit | 8aee3cffdcca851de6ee515d896342f863f85538 (patch) | |
tree | ab012899cc894730dbdd1bfbf23bbc8d8a09a77b /gui | |
parent | 307c8b0ecb861c51cad72f614a43a67b1ab00d3e (diff) | |
download | scummvm-rg350-8aee3cffdcca851de6ee515d896342f863f85538.tar.gz scummvm-rg350-8aee3cffdcca851de6ee515d896342f863f85538.tar.bz2 scummvm-rg350-8aee3cffdcca851de6ee515d896342f863f85538.zip |
DEBUGGER: Drop events when using readline debugger
This should avoid the readline debugger causing Windows to decide that
ScummVM is unresponsive, by dropping incoming events in the idle callback.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/debugger.cpp | 11 |
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 { |