diff --git a/src/sbbs3/ansi_terminal.cpp b/src/sbbs3/ansi_terminal.cpp index e5849eac8210899bac77a3045135153f32467afd..4e2d4a178ec8a928e87902866262fd42ca16a4ec 100644 --- a/src/sbbs3/ansi_terminal.cpp +++ b/src/sbbs3/ansi_terminal.cpp @@ -1196,9 +1196,15 @@ bool ANSI_Terminal::parse_input_sequence(char& ch, int mode) { if (ansi.ansi_sequence[2] == '<') { switch (ansi.ansi_final_byte) { case 'm': - return handle_SGR_mouse_sequence(ch, ansi, true); + if (handle_SGR_mouse_sequence(ch, ansi, true)) + return true; + ch = 0; + return false; case 'M': - return handle_SGR_mouse_sequence(ch, ansi, false); + if (handle_SGR_mouse_sequence(ch, ansi, false)) + return true; + ch = 0; + return false; } } }