From a3a7958721607b8520199563d478a315dfac678f Mon Sep 17 00:00:00 2001 From: Denis Lisov Date: Thu, 16 Dec 2021 01:33:32 +0300 Subject: ProcessList: sort before panel rebuild if needed --- ProcessList.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ProcessList.c') diff --git a/ProcessList.c b/ProcessList.c index 1df1990d..ef714b46 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -27,6 +27,7 @@ ProcessList* ProcessList_init(ProcessList* this, const ObjectClass* klass, Users this->processTable = Hashtable_new(200, false); this->displayTreeSet = Hashtable_new(200, false); this->draftingTreeSet = Hashtable_new(200, false); + this->needsSort = true; this->usersTable = usersTable; this->pidMatchList = pidMatchList; @@ -496,6 +497,7 @@ void ProcessList_sort(ProcessList* this) { } else { Vector_insertionSort(this->processes); } + this->needsSort = false; } ProcessField ProcessList_keyAt(const ProcessList* this, int at) { @@ -531,6 +533,9 @@ void ProcessList_collapseAllBranches(ProcessList* this) { } void ProcessList_rebuildPanel(ProcessList* this) { + if (this->needsSort) + ProcessList_sort(this); + const char* incFilter = this->incFilter; const int currPos = Panel_getSelectedIndex(this->panel); -- cgit v1.2.3