From ed93831ce990fe659e12b34b31fd49c289f7f17a Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Sun, 11 Sep 2022 01:02:05 +0200 Subject: Fix resetting the list items after sorting --- handlers.ha | 4 ++-- main.ha | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/handlers.ha b/handlers.ha index e5140bb..4e99fbf 100644 --- a/handlers.ha +++ b/handlers.ha @@ -129,8 +129,6 @@ fn runehandler(l: *widget::widget, r: libtui::key) bool = { return true; }; defer free(line); - strings::freeall(itemscopy); - itemscopy = strings::dupall(l.items); let newitems: []str = []; defer strings::freeall(newitems); for (let i = 0z; i < len(l.items); i += 1) { @@ -142,9 +140,11 @@ fn runehandler(l: *widget::widget, r: libtui::key) bool = { libtui::resume(&l.widget.ui); case 'o' => // order + list::clearmarked(l); sort::strings(l.items); case 'O' => // reverse order + list::clearmarked(l); sort::strings(l.items); slices::reverse(l.items: []void, size(str)); case 'p' => diff --git a/main.ha b/main.ha index c6403e2..512b78a 100644 --- a/main.ha +++ b/main.ha @@ -71,8 +71,8 @@ export fn main() void = { let sin = strings::fromutf8(in); sin = strings::trim(sin, '\n'); let items = strings::split(sin, "\n"); // freed by list::finish - //itemscopy = strings::dupall(items); - //defer strings::freeall(itemscopy); + itemscopy = strings::dupall(items); + defer strings::freeall(itemscopy); let ui = libtui::init(); defer libtui::finish(&ui); @@ -158,5 +158,4 @@ export fn main() void = { @fini fn finish() void = { free(searchterm); - strings::freeall(itemscopy); }; -- cgit v1.2.3