From 2238db5a4ebc2928e5e0b18ad6dd18ab2e40b977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sat, 17 Jul 2021 07:24:16 +0200 Subject: Make removing characters invoke g.editor_on_change --- sdn.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'sdn.cpp') diff --git a/sdn.cpp b/sdn.cpp index 3565bcb..ff5e804 100644 --- a/sdn.cpp +++ b/sdn.cpp @@ -1195,6 +1195,7 @@ fun handle_editor (wint_t c) { g.editor_inserting = false; } + auto original = g.editor_line; switch (i == g_input_actions.end () ? ACTION_NONE : i->second) { case ACTION_INPUT_CONFIRM: if (g.editor_on_confirm) @@ -1207,7 +1208,7 @@ fun handle_editor (wint_t c) { g.editor_inserting = false; g.editor_on_change = nullptr; g.editor_on_confirm = nullptr; - break; + return; case ACTION_INPUT_BEGINNING: g.editor_cursor = 0; break; @@ -1256,10 +1257,10 @@ fun handle_editor (wint_t c) { } else { g.editor_line.insert (g.editor_cursor, 1, c); g.editor_cursor++; - if (g.editor_on_change) - g.editor_on_change (); } } + if (g.editor_on_change && g.editor_line != original) + g.editor_on_change (); } fun handle (wint_t c) -> bool { -- cgit v1.2.3