X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fgadgets.c;h=0295eec69a48d1b4cabfb4d08c44fe76bc4d1519;hp=4b237b88d416c0e096581b0abb4d280dd4927e69;hb=3bb0d9d605aafe3e832aa79fa9e8c7f088556819;hpb=64e7c54dce6ea8c063f04198c64c5057d751c928 diff --git a/src/libgame/gadgets.c b/src/libgame/gadgets.c index 4b237b88..0295eec6 100644 --- a/src/libgame/gadgets.c +++ b/src/libgame/gadgets.c @@ -2117,7 +2117,18 @@ boolean HandleGadgetsKeyInput(Key key) if (key == KSYM_Escape) { - StopTextInput(); + if (anyTextGadgetActive()) + { + // restore previous text (before activating text gadget) + if (gi->type & GD_TYPE_TEXT_INPUT) + strcpy(gi->textinput.value, gi->textinput.last_value); + + DrawGadget(gi, DG_UNPRESSED, gi->direct_draw); + + last_gi = NULL; + + StopTextInput(); + } } else if (key == KSYM_Return) // valid for both text input and selectbox {