diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 0b76ee934..4f3f4ac92 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -21,6 +21,7 @@ - refixed #9147: Misspellings in Account - fixed #9348: Required Upgrade Step Not Documented - 7.6.0 - fixed #8993: Gallery Image Details Overlap Image + - fixed #9380: CoolMenus template - invalid markup affecting page layouts 7.6.7 - fixed #9263: Thingy possibleValues processing, and List type autodetection. diff --git a/lib/WebGUI/Asset/Wobject/Navigation.pm b/lib/WebGUI/Asset/Wobject/Navigation.pm index 1117adc96..a6878d761 100644 --- a/lib/WebGUI/Asset/Wobject/Navigation.pm +++ b/lib/WebGUI/Asset/Wobject/Navigation.pm @@ -405,10 +405,6 @@ sub view { my $previousPageData = undef; my $eh = $self->session->errorHandler; foreach my $asset (@{$assets}) { - # Set absoluteDepthOfFirstPage - if ( !defined $absoluteDepthOfFirstPage ) { - $absoluteDepthOfFirstPage = $asset->getLineageLength; - } # skip pages we shouldn't see my $pageLineage = $asset->get("lineage"); @@ -426,6 +422,13 @@ sub view { $lineageToSkip = $pageLineage unless ($pageLineage eq "000001"); next; } + + # Set absoluteDepthOfFirstPage after we have determined if the first page is viewable! + # Otherwise, the indent loop calculation below will be off by 1 (or more) + if ( !defined $absoluteDepthOfFirstPage ) { + $absoluteDepthOfFirstPage = $asset->getLineageLength; + } + my $pageData = {}; my $pageProperties = $asset->get; while (my ($property, $propertyValue) = each %{ $pageProperties }) {