This commit is contained in:
@@ -400,9 +400,11 @@ void StudioUI::drawTabs() noexcept {
|
||||
*m_sctx.navIdx == m_sctx.navStack.size() ||
|
||||
(*m_sctx.navIdx < m_sctx.navStack.size() &&
|
||||
m_sctx.navStack[*m_sctx.navIdx].filePath != m_activeEditor->itemPath())) {
|
||||
auto &navIdx = m_sctx.navIdx.emplace(m_sctx.navIdx.or_value(0u));
|
||||
m_sctx.navStack.resize(navIdx);
|
||||
auto constexpr defaultVal =
|
||||
ox::MaxValue<ox::remove_reference_t<decltype(*m_sctx.navIdx)>>;
|
||||
auto &navIdx = m_sctx.navIdx.emplace(m_sctx.navIdx.or_value(defaultVal));
|
||||
++navIdx;
|
||||
m_sctx.navStack.resize(navIdx);
|
||||
m_sctx.navStack.emplace_back(
|
||||
ox::String{m_activeEditor->itemPath()},
|
||||
ox::String{});
|
||||
|
||||
@@ -15,12 +15,9 @@ void navigateTo(Context &ctx, ox::StringParam filePath, ox::StringParam navArgs)
|
||||
}
|
||||
path = p;
|
||||
}
|
||||
//if (
|
||||
// auto const [np, err] = ctx.navStack.back();
|
||||
// !err && np->filePath == path && np->navArgs == navArgs.view()) {
|
||||
// return;
|
||||
//}
|
||||
ctx.navStack.resize(ctx.navIdx.or_value(0) + 1);
|
||||
auto constexpr defaultVal =
|
||||
ox::MaxValue<ox::remove_reference_t<decltype(*ctx.navIdx)>>;
|
||||
ctx.navStack.resize(ctx.navIdx.or_value(defaultVal) + 1);
|
||||
ctx.navStack.emplace_back(ox::String{path}, ox::String{navArgs.view()});
|
||||
try {
|
||||
ctx.navCallback(std::move(path), std::move(navArgs));
|
||||
@@ -35,7 +32,6 @@ void navigateBack(Context &ctx) noexcept {
|
||||
return;
|
||||
}
|
||||
auto &navIdx = *ctx.navIdx;
|
||||
navIdx = ox::min(navIdx, ctx.navStack.size() - 1);
|
||||
while (navIdx && navIdx < ctx.navStack.size()) {
|
||||
--navIdx;
|
||||
auto const &n = ctx.navStack[navIdx];
|
||||
|
||||
Reference in New Issue
Block a user