From 0865ed73513e161be429a61c63913d58c9d145a3 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Thu, 22 Oct 2020 18:25:15 +0200 Subject: [PATCH] fixed bug with text input gadgets when pressing "Escape" key This bugs happens when incrementing or decrementing a numeric text input gadget by 5 or 10 (using middle or right mouse button) so that it gets a value beyond the allowed range. Although this will be corrected, the "last value" variable still has the bad value, which gets restored when clicking that text input gadget and then leaving it by pressing the "Escape" key. --- src/libgame/gadgets.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libgame/gadgets.c b/src/libgame/gadgets.c index 56c359bc..f84815b0 100644 --- a/src/libgame/gadgets.c +++ b/src/libgame/gadgets.c @@ -2230,8 +2230,12 @@ boolean HandleGadgetsKeyInput(Key key) { // restore previous text (before activating text gadget) if (gi->type & GD_TYPE_TEXT_INPUT) + { strcpy(gi->textinput.value, gi->textinput.last_value); + CheckRangeOfNumericInputGadget(gi); + } + DrawGadget(gi, DG_UNPRESSED, gi->direct_draw); last_gi = NULL; -- 2.34.1