]> granicus.if.org Git - procps-ng/commitdiff
top: thread mode transitions should remove focus ('F')
authorJim Warner <james.warner@comcast.net>
Sun, 8 Aug 2021 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Mon, 9 Aug 2021 12:03:23 +0000 (22:03 +1000)
The commit referenced below forced a return to row one
whenever there was a thread mode transition. Now, with
our new focus ('F') feature, we should adopt a similar
philosophy so as to avoid potential display anomalies.

Reference(s)
. Jun 2018, force row 1 w/ thread mode transition
commit 19ec80bd416c570a70f2fa7fa7e84a2667d71a08

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c

index 1f0fbe8e0b00f4c9bcbb60853a06479ea5d03161..d1abbc56c09bae2cc24a57e2731bad21ffac739e 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -4796,6 +4796,7 @@ static void write_rcfile (void) {
 
 static void keys_global (int ch) {
    WIN_t *w = Curwin;             // avoid gcc bloat with a local copy
+   int i;
 
    switch (ch) {
       case '?':
@@ -4835,7 +4836,8 @@ static void keys_global (int ch) {
          if (!CHKw(w, View_STATES))
             show_msg(fmtmk(N_fmt(THREADS_show_fmt)
                , Thread_mode ? N_txt(ON_word_only_txt) : N_txt(OFF_one_word_txt)));
-         Winstk[0].begtask = Winstk[1].begtask = Winstk[2].begtask = Winstk[3].begtask = 0;
+         for (i = 0 ; i < GROUPSMAX; i++)
+            Winstk[i].begtask = Winstk[i].focus_pid = 0;
          // force an extra procs refresh to avoid %cpu distortions...
          Pseudo_row = PROC_XTRA;
          break;