From c3d682b0f6bb4115e61554b2143c2dcc3c6df550 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 17 Feb 2009 18:13:25 +0000 Subject: [PATCH] fix bug #2171752 --- htop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/htop.c b/htop.c index c74b6b3e..fc5a6411 100644 --- a/htop.c +++ b/htop.c @@ -282,6 +282,7 @@ int main(int argc, char** argv) { int refreshTimeout = 0; int resetRefreshTimeout = 5; bool doRefresh = true; + bool doRecalculate = false; Settings* settings; Panel* killPanel = NULL; @@ -353,8 +354,10 @@ int main(int argc, char** argv) { int currScrollV = panel->scrollV; if (follow) currPid = ProcessList_get(pl, currPos)->pid; - if (recalculate) + if (recalculate || doRecalculate) { ProcessList_scan(pl); + doRecalculate = false; + } if (refreshTimeout == 0) { ProcessList_sort(pl); refreshTimeout = 1; @@ -728,12 +731,14 @@ int main(int argc, char** argv) { settings->changed = true; break; case 'H': + doRecalculate = true; refreshTimeout = 0; pl->hideUserlandThreads = !pl->hideUserlandThreads; pl->hideThreads = pl->hideUserlandThreads; settings->changed = true; break; case 'K': + doRecalculate = true; refreshTimeout = 0; pl->hideKernelThreads = !pl->hideKernelThreads; settings->changed = true;