summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Mathi-Amorim <manny@amorim.ca>2021-11-30 22:47:12 -0500
committerBenBE <BenBE@geshi.org>2021-12-01 17:08:13 +0100
commitff0ea41c869fa5ae84c75fc261f3e81a693e3c02 (patch)
tree400b3aff93045bcac318e3118f8baf87824c47cf
parent43e9be5a8f63b6be614f7a73500ad4e755f38c83 (diff)
Fix issue where last line is not cleared when SIGINT is received
When we close the application using the quit function F10, the last line is cleared so that on terminals which do not support ALTBUF the last line is not clobbered. This do not happen when the application exits as a result of a signal (SIGINT,SIGTERM,SIGQUIT). Move the logic to clear the last line into the CRT_done function. This ensures that it will be executed when the CRT_handleSIGTERM is called.
-rw-r--r--CRT.c5
-rw-r--r--CommandLine.c5
2 files changed, 5 insertions, 5 deletions
diff --git a/CRT.c b/CRT.c
index ce59994d..24c8c65c 100644
--- a/CRT.c
+++ b/CRT.c
@@ -961,6 +961,11 @@ IGNORE_WCASTQUAL_END
}
void CRT_done() {
+ attron(CRT_colors[RESET_COLOR]);
+ mvhline(LINES - 1, 0, ' ', COLS);
+ attroff(CRT_colors[RESET_COLOR]);
+ refresh();
+
curs_set(1);
endwin();
diff --git a/CommandLine.c b/CommandLine.c
index b2ad06e0..3a45d820 100644
--- a/CommandLine.c
+++ b/CommandLine.c
@@ -375,11 +375,6 @@ int CommandLine_run(const char* name, int argc, char** argv) {
ScreenManager_run(scr, NULL, NULL);
- attron(CRT_colors[RESET_COLOR]);
- mvhline(LINES - 1, 0, ' ', COLS);
- attroff(CRT_colors[RESET_COLOR]);
- refresh();
-
Platform_done();
CRT_done();

© 2014-2024 Faster IT GmbH | imprint | privacy policy