Skip to content

Commit 06db116

Browse files
committed
[session] fix how the view stack is handled when applying commands
1 parent 61bf3e8 commit 06db116

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

src/session_data.cc

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ load_time_bookmarks()
754754
= string_fragment::from_c_str(annotations);
755755
auto parse_res
756756
= logmsg_annotations_handlers.parser_for(SRC)
757-
.of(anno_sf);
757+
.of(anno_sf);
758758
if (!meta) {
759759
log_debug(" loaded message annotation");
760760
}
@@ -1266,18 +1266,15 @@ save_meta_bookmarks(sqlite3* db, sqlite3_stmt* stmt, logfile* lf)
12661266
continue;
12671267
}
12681268

1269-
if (line_meta.bm_name_source
1270-
== bookmark_metadata::meta_source::user)
1271-
{
1269+
if (line_meta.bm_name_source == bookmark_metadata::meta_source::user) {
12721270
if (sqlite3_bind_text(stmt,
12731271
5,
12741272
line_meta.bm_name.c_str(),
12751273
line_meta.bm_name.length(),
12761274
SQLITE_TRANSIENT)
12771275
!= SQLITE_OK)
12781276
{
1279-
log_error("could not bind part name -- %s",
1280-
sqlite3_errmsg(db));
1277+
log_error("could not bind part name -- %s", sqlite3_errmsg(db));
12811278
return;
12821279
}
12831280
}
@@ -1304,8 +1301,7 @@ save_meta_bookmarks(sqlite3* db, sqlite3_stmt* stmt, logfile* lf)
13041301
yajlpp_array arr(gen);
13051302

13061303
for (const auto& entry : line_meta.bm_tags) {
1307-
if (entry.te_source
1308-
== bookmark_metadata::meta_source::user)
1304+
if (entry.te_source == bookmark_metadata::meta_source::user)
13091305
{
13101306
arr.gen(entry.te_tag);
13111307
}
@@ -1756,8 +1752,8 @@ load_timeline_bookmarks(sqlite3* db)
17561752
continue;
17571753
}
17581754

1759-
auto rt_opt = timeline_source::row_type_from_string(
1760-
row_type_str);
1755+
auto rt_opt
1756+
= timeline_source::row_type_from_string(row_type_str);
17611757
if (!rt_opt) {
17621758
continue;
17631759
}
@@ -2131,15 +2127,11 @@ save_time_bookmarks()
21312127
log_info("deleted %d old text bookmarks", text_bm_changes);
21322128
}
21332129

2134-
if (sqlite3_exec(db.in(),
2135-
TIMELINE_BOOKMARK_LRU_STMT,
2136-
nullptr,
2137-
nullptr,
2138-
errmsg.out())
2130+
if (sqlite3_exec(
2131+
db.in(), TIMELINE_BOOKMARK_LRU_STMT, nullptr, nullptr, errmsg.out())
21392132
!= SQLITE_OK)
21402133
{
2141-
log_error("unable to delete old timeline bookmarks -- %s",
2142-
errmsg.in());
2134+
log_error("unable to delete old timeline bookmarks -- %s", errmsg.in());
21432135
return;
21442136
}
21452137
auto timeline_bm_changes = sqlite3_changes(db.in());
@@ -2441,9 +2433,16 @@ lnav::session::apply_view_commands()
24412433
curr_cmds.insert(cmd_sf.to_string());
24422434
});
24432435
}
2436+
if (vs.vs_commands.empty()) {
2437+
continue;
2438+
}
2439+
auto pop_view = false;
2440+
if (lnav_data.ld_view_stack.top() != &tview) {
2441+
toggle_view(&tview);
2442+
pop_view = true;
2443+
}
24442444
for (const auto& cmdline : vs.vs_commands) {
24452445
auto cmdline_sf = string_fragment::from_str(cmdline);
2446-
auto active = ensure_view(&tview);
24472446
auto [cmd_sf, _cmdline_rem]
24482447
= cmdline_sf.split_when(string_fragment::tag1{' '});
24492448
if (curr_cmds.contains(cmd_sf.to_string())) {
@@ -2464,17 +2463,17 @@ lnav::session::apply_view_commands()
24642463
.get_string()
24652464
.c_str());
24662465
}
2467-
if (!active) {
2468-
lnav_data.ld_view_stack.pop_back();
2469-
lnav_data.ld_view_stack.top() | [](auto* tc) {
2470-
// XXX
2471-
if (tc == &lnav_data.ld_views[LNV_TIMELINE]) {
2472-
auto tss = tc->get_sub_source();
2473-
tss->text_filters_changed();
2474-
tc->reload_data();
2475-
}
2476-
};
2477-
}
2466+
}
2467+
if (pop_view) {
2468+
lnav_data.ld_view_stack.pop_back();
2469+
lnav_data.ld_view_stack.top() | [](auto* tc) {
2470+
// XXX
2471+
if (tc == &lnav_data.ld_views[LNV_TIMELINE]) {
2472+
auto tss = tc->get_sub_source();
2473+
tss->text_filters_changed();
2474+
tc->reload_data();
2475+
}
2476+
};
24782477
}
24792478
}
24802479
}

0 commit comments

Comments
 (0)