Auto-follow process when selecting which signal to use when killing a process.

This avoids killing the wrong process.
This commit is contained in:
Hisham Muhammad
2012-03-30 01:20:32 +00:00
parent bca656c79e
commit 05a78c8111
2 changed files with 11 additions and 1 deletions

9
htop.c
View File

@ -207,7 +207,16 @@ static Object* pickFromVector(Panel* panel, Panel* list, int x, int y, const cha
ScreenManager_add(scr, panel, NULL, -1);
Panel* panelFocus;
int ch;
bool unfollow = false;
if (header->pl->following == -1) {
Process* p = (Process*)Panel_getSelected(panel);
header->pl->following = p ? p->pid : -1;
unfollow = true;
}
ScreenManager_run(scr, &panelFocus, &ch);
if (unfollow) {
header->pl->following = -1;
}
ScreenManager_delete(scr);
Panel_move(panel, 0, y);
Panel_resize(panel, COLS, LINES-y-1);