diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index d551ccafd..66d34b115 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -7,6 +7,7 @@ - fix: Survey - editQuestionSave - yesNo fields always "yes" (Matthew Wilson) - Fixed a memory leak in Spectre that could cause it to double in size roughly every 30 hours under certain conditions. + - fix: Problems with page.isSibling and page.inBranch 6.99.4 diff --git a/lib/WebGUI/Asset/Wobject/Navigation.pm b/lib/WebGUI/Asset/Wobject/Navigation.pm index 76db6a4d5..b7d616236 100644 --- a/lib/WebGUI/Asset/Wobject/Navigation.pm +++ b/lib/WebGUI/Asset/Wobject/Navigation.pm @@ -412,11 +412,10 @@ sub view { $pageData->{"page.isDescendant"} = ( $pageLineage =~ m/^$currentLineage/ && !$pageData->{"page.isCurrent"}); $pageData->{"page.isAncestor"} = ( $currentLineage =~ m/^$pageLineage/ && !$pageData->{"page.isCurrent"}); my $currentBranchLineage = substr($currentLineage,0,12); - $pageData->{"page.inBranchRoot"} = ($currentBranchLineage =~ m/^$pageLineage/); + $pageData->{"page.inBranchRoot"} = ($pageLineage =~ m/^$currentBranchLineage/); $pageData->{"page.isSibling"} = ( - $pageData->{"page.inBranchRoot"} && - $asset->getLineageLength == $current->getLineageLength && - !$pageData->{"page.isCurrent"} + $asset->get("parentId") eq $current->get("parentId") && + $asset->getId ne $current->getId ); $pageData->{"page.inBranch"} = ( $pageData->{"page.isCurrent"} ||