Index: includes/menu.inc =================================================================== --- includes/menu.inc (revision 1792) +++ includes/menu.inc (revision 1793) @@ -537,11 +537,25 @@ $links[] = l(t('Home'), variable_get('site_frontpage', 'node')); $trail = _menu_get_active_trail(); + $parent_visible_in_breadcrumb = FALSE; + $found_disabled_item = FALSE; foreach ($trail as $mid) { $item = menu_get_item($mid); + $link = menu_item_link($mid); if ($item['type'] & MENU_VISIBLE_IN_BREADCRUMB) { - $links[] = menu_item_link($mid); + $links[] = $link; + $parent_visible_in_breadcrumb = TRUE; } + else if (($parent_visible_in_breadcrumb) and + ($item['type'] & MENU_MODIFIED_BY_ADMIN) and + (!$found_disabled_item)) { + // We've found the first disabled item. Keep it in the list for + // now; it'll get popped off in the next section. It needs to be + // added here or else the parent won't show up in the displayed + // breadcrumbs. + $links[] = $link; + $found_disabled_item = TRUE; + } } // The last item in the trail is the page title; don't display it here.