Skip to content

Commit 1b3baf9

Browse files
committed
[filters] fix for already exists check
1 parent 01beb45 commit 1b3baf9

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/filter_sub_source.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,7 @@ filter_sub_source::text_filter_row::ti_change(textview_curses* top_view,
933933
} else {
934934
rc.tc_suggestion.clear();
935935
}
936+
} else if (new_value == this->tfr_filter->get_id()) {
936937
} else {
937938
auto regex_res
938939
= lnav::pcre2pp::code::from(new_value, PCRE2_CASELESS);
@@ -943,6 +944,9 @@ filter_sub_source::text_filter_row::ti_change(textview_curses* top_view,
943944
auto pe = regex_res.unwrapErr();
944945
lnav_data.ld_filter_help_status_source.fss_error.set_value(
945946
"error: %s", pe.get_message().c_str());
947+
} else if (fs.get_filter(new_value) != nullptr) {
948+
lnav_data.ld_filter_help_status_source.fss_error.set_value(
949+
"error: filter already exists");
946950
} else {
947951
auto& hm = top_view->get_highlights();
948952
highlighter hl(regex_res.unwrap().to_shared());
@@ -1090,7 +1094,7 @@ filter_sub_source::text_filter_row::ti_perform(textview_curses* top_view,
10901094
auto new_value = ti.get_content();
10911095

10921096
fs.fs_generation += 1;
1093-
if (new_value.empty()) {
1097+
if (new_value.empty() || new_value == this->tfr_filter->get_id()) {
10941098
this->ti_abort(top_view, ti, parent);
10951099
} else {
10961100
switch (this->tfr_filter->get_lang()) {

0 commit comments

Comments
 (0)