From 31345251a58d3688e46bbd4b1864284ef26a24bf Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 11 Oct 2023 17:37:48 -0700 Subject: [PATCH] Don't segfault in help on backspace/delete keypress This just suppresses performing the bs/del when ed.readonly --- src/ui_sdl.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ui_sdl.c b/src/ui_sdl.c index 6686641..9d77c5b 100644 --- a/src/ui_sdl.c +++ b/src/ui_sdl.c @@ -664,8 +664,11 @@ void ed_deleteselection() ed_unselect(); } -void ed_backspace(int offset) +int ed_backspace(int offset) { + if (ed.readonly) + return 0; + if(ed.selectend>ed.selectstart) ed_deleteselection(); else @@ -676,6 +679,7 @@ void ed_backspace(int offset) for(;*s;s++)*s=s[1]; } } + return 1; } void ed_save() @@ -978,14 +982,12 @@ void interactivemode(char*codetoload) else if(sym==SDLK_BACKSPACE) { - ed_backspace(-1); - codechanged=1; + codechanged|=ed_backspace(-1); } else if(sym==SDLK_DELETE) { - ed_backspace(0); - codechanged=1; + codechanged|=ed_backspace(0); } else if(sym==SDLK_F12)