fix(ui): clearok(stdscr) in ui_resume to clear vim screen residue
All checks were successful
CI Code / Check spelling (pull_request) Successful in 16s
CI Code / Check coding style (pull_request) Successful in 30s
CI Code / Code Coverage (pull_request) Successful in 3m22s
CI Code / Linux (debian) (pull_request) Successful in 4m47s
CI Code / Linux (ubuntu) (pull_request) Successful in 4m59s
CI Code / Linux (arch) (pull_request) Successful in 6m58s
All checks were successful
CI Code / Check spelling (pull_request) Successful in 16s
CI Code / Check coding style (pull_request) Successful in 30s
CI Code / Code Coverage (pull_request) Successful in 3m22s
CI Code / Linux (debian) (pull_request) Successful in 4m47s
CI Code / Linux (ubuntu) (pull_request) Successful in 4m59s
CI Code / Linux (arch) (pull_request) Successful in 6m58s
ncurses didn't know the editor clobbered the physical screen, so the first refresh after vim exit was a no-op diff. Stale frame stayed visible until the next keystroke triggered readline redisplay.
This commit is contained in:
@@ -182,7 +182,7 @@ editor_emergency_kill(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log_warning("[Editor] aborting editor pid %d", editor_pid);
|
log_warning("[Editor] aborting editor pid %d", editor_pid);
|
||||||
kill(editor_pid, SIGCONT); // wake if STOPPED; no-op otherwise
|
kill(editor_pid, SIGCONT); // wake if STOPPED; no-op otherwise
|
||||||
kill(editor_pid, SIGTERM);
|
kill(editor_pid, SIGTERM);
|
||||||
// _editor_exit_cb will restore the UI when the child reaps.
|
// _editor_exit_cb will restore the UI when the child reaps.
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ void
|
|||||||
ui_resume(void)
|
ui_resume(void)
|
||||||
{
|
{
|
||||||
ui_suspended = FALSE;
|
ui_suspended = FALSE;
|
||||||
|
clearok(stdscr, TRUE); // ncurses can't see vim's screen clobber
|
||||||
refresh();
|
refresh();
|
||||||
inp_resume();
|
inp_resume();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user