From cdb702fe5a9835245c5182050b4232ddaeb5ac73 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Fri, 11 Dec 2020 18:23:52 +0100 Subject: Prepare for 3.0.3-2 --- debian/changelog | 7 ++ debian/patches/0001-Fix-broken-tree-display.patch | 78 ++++++++++++++++++++++ .../patches/0002-Fix-paussing-in-tree-mode.patch | 40 +++++++++++ debian/patches/series | 2 + 4 files changed, 127 insertions(+) create mode 100644 debian/patches/0001-Fix-broken-tree-display.patch create mode 100644 debian/patches/0002-Fix-paussing-in-tree-mode.patch create mode 100644 debian/patches/series diff --git a/debian/changelog b/debian/changelog index b581e61..452a374 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +htop (3.0.3-2) UNRELEASED; urgency=medium + + * Fix display in tree mode + * Fix pausing screen updates (press Z key) in tree mode + + -- Daniel Lange Fri, 11 Dec 2020 18:22:00 +0100 + htop (3.0.3-1) unstable; urgency=medium * New upstream release 3.0.3 diff --git a/debian/patches/0001-Fix-broken-tree-display.patch b/debian/patches/0001-Fix-broken-tree-display.patch new file mode 100644 index 0000000..a86ca74 --- /dev/null +++ b/debian/patches/0001-Fix-broken-tree-display.patch @@ -0,0 +1,78 @@ +From c2cc7e2f348c10c4c39dbce43861882e10ef1b4f Mon Sep 17 00:00:00 2001 +From: Daniel Lange +Date: Fri, 11 Dec 2020 18:13:10 +0100 +Subject: [PATCH 1/2] Fix broken tree display + +upstream commits 4c44a70 and f6613db +--- + Process.c | 3 ++- + ProcessList.c | 15 ++++++--------- + linux/LinuxProcess.c | 3 ++- + 3 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/Process.c b/Process.c +index 8245f86..927731b 100644 +--- a/Process.c ++++ b/Process.c +@@ -320,7 +320,8 @@ void Process_writeField(const Process* this, RichString* str, ProcessField field + buf += written; + n -= written; + } +- const char* draw = CRT_treeStr[lastItem ? (this->settings->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE]; ++ ++ const char* draw = CRT_treeStr[lastItem ? TREE_STR_BEND : TREE_STR_RTEE]; + xSnprintf(buf, n, "%s%s ", draw, this->showChildren ? CRT_treeStr[TREE_STR_SHUT] : CRT_treeStr[TREE_STR_OPEN] ); + RichString_append(str, CRT_colors[PROCESS_TREE], buffer); + Process_writeCommand(this, attr, baseattr, str); +diff --git a/ProcessList.c b/ProcessList.c +index 2d27339..e3199d2 100644 +--- a/ProcessList.c ++++ b/ProcessList.c +@@ -479,23 +479,20 @@ void ProcessList_rebuildPanel(ProcessList* this) { + int size = ProcessList_size(this); + int idx = 0; + for (int i = 0; i < size; i++) { +- bool hidden = false; + Process* p = ProcessList_get(this, i); + + if ( (!p->show) + || (this->userId != (uid_t) -1 && (p->st_uid != this->userId)) + || (incFilter && !(String_contains_i(Process_getCommand(p), incFilter))) + || (this->pidMatchList && !Hashtable_get(this->pidMatchList, p->tgid)) ) +- hidden = true; ++ continue; + +- if (!hidden) { +- Panel_set(this->panel, idx, (Object*)p); +- if ((this->following == -1 && idx == currPos) || (this->following != -1 && p->pid == currPid)) { +- Panel_setSelected(this->panel, idx); +- this->panel->scrollV = currScrollV; +- } +- idx++; ++ Panel_set(this->panel, idx, (Object*)p); ++ if ((this->following == -1 && idx == currPos) || (this->following != -1 && p->pid == currPid)) { ++ Panel_setSelected(this->panel, idx); ++ this->panel->scrollV = currScrollV; + } ++ idx++; + } + } + +diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c +index 8298000..62837cb 100644 +--- a/linux/LinuxProcess.c ++++ b/linux/LinuxProcess.c +@@ -605,8 +605,9 @@ static void LinuxProcess_writeCommandField(const Process *this, RichString *str, + buf = stpcpy(buf, " "); + } + } ++ + n -= (buf - buffer); +- const char* draw = CRT_treeStr[lastItem ? (this->settings->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE]; ++ const char* draw = CRT_treeStr[lastItem ? TREE_STR_BEND : TREE_STR_RTEE]; + xSnprintf(buf, n, "%s%s ", draw, this->showChildren ? CRT_treeStr[TREE_STR_SHUT] : CRT_treeStr[TREE_STR_OPEN] ); + RichString_append(str, CRT_colors[PROCESS_TREE], buffer); + LinuxProcess_writeCommand(this, attr, baseattr, str); +-- +2.25.1 + diff --git a/debian/patches/0002-Fix-paussing-in-tree-mode.patch b/debian/patches/0002-Fix-paussing-in-tree-mode.patch new file mode 100644 index 0000000..b0cb959 --- /dev/null +++ b/debian/patches/0002-Fix-paussing-in-tree-mode.patch @@ -0,0 +1,40 @@ +From 433ae89b72bc17b52dc98eac633cdf9903d1e7c5 Mon Sep 17 00:00:00 2001 +From: Daniel Lange +Date: Fri, 11 Dec 2020 18:16:12 +0100 +Subject: [PATCH 2/2] Fix paussing in tree mode + +Upstream commits 7b739b6 and db5687a +--- + Action.c | 2 ++ + ScreenManager.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Action.c b/Action.c +index 66934be..eccd985 100644 +--- a/Action.c ++++ b/Action.c +@@ -273,6 +273,8 @@ static Htop_Reaction actionLowerPriority(State* st) { + + static Htop_Reaction actionInvertSortOrder(State* st) { + Settings_invertSortOrder(st->settings); ++ if (st->pauseProcessUpdate) ++ ProcessList_sort(st->pl); + return HTOP_REFRESH | HTOP_SAVE_SETTINGS; + } + +diff --git a/ScreenManager.c b/ScreenManager.c +index ac93721..94904b5 100644 +--- a/ScreenManager.c ++++ b/ScreenManager.c +@@ -106,7 +106,7 @@ static void checkRecalculation(ScreenManager* this, double* oldTime, int* sortTi + if (*rescan) { + *oldTime = newTime; + ProcessList_scan(pl, this->state->pauseProcessUpdate); +- if (*sortTimeout == 0 || this->settings->treeView) { ++ if (!this->state->pauseProcessUpdate && (*sortTimeout == 0 || this->settings->treeView)) { + ProcessList_sort(pl); + *sortTimeout = 1; + } +-- +2.25.1 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..c5991a0 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0001-Fix-broken-tree-display.patch +0002-Fix-paussing-in-tree-mode.patch -- cgit v1.2.3