Make sure the next in order movement skips any children of the parent pane when a parent is focused

This commit is contained in:
Schuyler Rosefield 2021-09-16 10:49:49 -04:00
parent a8f144a8e7
commit 1db7b7591a

View file

@ -564,6 +564,11 @@ std::shared_ptr<Pane> Pane::NextPane(const std::shared_ptr<Pane> targetPane)
bool foundTarget = false;
auto foundNext = WalkTree([&](auto pane) {
// If we are a parent pane we don't want to move to one of our children
if (foundTarget && targetPane->_HasChild(pane))
{
return false;
}
// In case the target pane is the last pane in the tree, keep a reference
// to the first leaf so we can wrap around.
if (firstLeaf == nullptr && pane->_IsLeaf())