diff options
author | Jim Warner <james.warner@comcast.net> | 2022-06-15 00:00:00 -0500 |
---|---|---|
committer | Craig Small <csmall@dropbear.xyz> | 2022-06-19 20:58:51 +1000 |
commit | 5fe2af91772fe8799d577234a6e1ca202b5524bf (patch) | |
tree | 06c39ff81d7ce7b77d1c9b345b3cdb6f1ab99458 | |
parent | 942b1b110c348d78fb0180c693537b04ff0cecec (diff) | |
download | procps-ng-5fe2af91772fe8799d577234a6e1ca202b5524bf.tar.gz |
top: avoid premature forced loss of that bottom window <=== port of newlib f40fc402
______________________________ original newlib message
----------------------------------- ( minus git hash )
In the commit shown below the bottom window was forced
off if a full screen replacement function was invoked.
It did so by setting Frames_signal after calling those
routines from the keys_global function. However, there
was sometimes a possibility such action was premature.
At least two of those full screen replacement routines
may issue an error message & return without corrupting
the screen. As such, forcing off that bottom window is
totally unnecessary. It therefore should be preserved.
So this commit just moves the setting of Frames_signal
to the full screen replacement routines when possible.
Reference(s):
. May, 2022 - bottom window forced off for some
commit ........................................
Signed-off-by: Jim Warner <james.warner@comcast.net>
-rw-r--r-- | top/top.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -2476,6 +2476,9 @@ signify_that: break; } } while (key != 'q' && key != kbd_ESC); + + // signal that we just corrupted entire screen + Frames_signal = BREAK_screen; #undef unSCRL #undef swapEM #undef spewFI @@ -3633,8 +3636,11 @@ signify_that: } } while (key != 'q' && key != kbd_ESC); + // signal that we just corrupted entire screen + Frames_signal = BREAK_screen; #undef mkSEL } // end: inspection_utility + #undef INSP_MKSL #undef INSP_RLEN #undef INSP_BUSY @@ -4758,7 +4764,8 @@ signify_that: } while (key != kbdAPPLY && key != kbdABORT); if (key == kbdABORT || key == kbd_ESC) wins_clrhlp(w, 0); - + // signal that we just corrupted entire screen + Frames_signal = BREAK_screen; #undef kbdABORT #undef kbdAPPLY } // end: wins_colors @@ -5443,6 +5450,8 @@ signify_that: default: goto signify_that; } + // signal that we just corrupted entire screen + Frames_signal = BREAK_screen; } // end: help_view @@ -5575,8 +5584,6 @@ static void keys_global (int ch) { case '?': case 'h': help_view(); - // signal that we just corrupted entire screen - Frames_signal = BREAK_screen; mkVIZrow1 break; case 'B': @@ -5601,8 +5608,6 @@ static void keys_global (int ch) { break; case 'f': fields_utility(); - // signal that we just corrupted entire screen - Frames_signal = BREAK_screen; break; case 'g': win_select(0); @@ -5685,18 +5690,12 @@ static void keys_global (int ch) { pid = get_int(fmtmk(N_fmt(YINSP_pidsee_fmt), def)); if (pid > GET_NUM_ESC) { if (pid == GET_NUM_NOT) pid = def; - if (pid) { - inspection_utility(pid); - // signal that we just corrupted entire screen - Frames_signal = BREAK_screen; - } + if (pid) inspection_utility(pid); } } break; case 'Z': wins_colors(); - // signal that we just corrupted entire screen - Frames_signal = BREAK_screen; mkVIZrow1 break; case '0': |