From 884fa9d04ea97849e80af2a7dc53be706a3eea43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Mon, 7 Apr 2025 01:32:51 -0400
Subject: [PATCH] Fix parse_input_sequence() on unhandled mouse events

The API was changed after the mouse support was tested, and mouse
support wasn't updated correctly.

Fixes #900
---
 src/sbbs3/ansi_terminal.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/sbbs3/ansi_terminal.cpp b/src/sbbs3/ansi_terminal.cpp
index e5849eac82..4e2d4a178e 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;
 						}
 					}
 				}
-- 
GitLab