From 843349db3ab36d20d67cd9c41cf8c31ea09e066a Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 4 Sep 2025 11:43:22 -0500 Subject: [PATCH] fix crash with up/down key on empty field --- src/dialogxml/widgets/field.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dialogxml/widgets/field.cpp b/src/dialogxml/widgets/field.cpp index 6f18e3bf..70a7315d 100644 --- a/src/dialogxml/widgets/field.cpp +++ b/src/dialogxml/widgets/field.cpp @@ -560,6 +560,7 @@ void cTextField::handleInput(cKey key, bool record) { if(current_action) history.add(current_action), current_action.reset(); if(haveSelection && !select) selectionPoint = insertionPoint = std::min(selectionPoint,insertionPoint); + if(snippets.empty()) break; if(snippets[ip_row].at.y == snippets[0].at.y) { key.k = key_top; if(select) key.mod += mod_shift; @@ -574,6 +575,7 @@ void cTextField::handleInput(cKey key, bool record) { if(current_action) history.add(current_action), current_action.reset(); if(haveSelection && !select) selectionPoint = insertionPoint = std::max(selectionPoint,insertionPoint); + if(snippets.empty()) break; if(snippets[ip_row].at.y == snippets.back().at.y) { key.k = key_bottom; if(select) key.mod += mod_shift;