summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/menu.inc8
1 files changed, 5 insertions, 3 deletions
diff --git a/includes/menu.inc b/includes/menu.inc
index 6ff5e0d8a..3cf574cf7 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -1176,10 +1176,12 @@ function _menu_find_parents(&$items) {
if (!isset($item['pid'])) {
// Parent's location has not been customized, so figure it out using the path.
$parent = $item['path'];
- do {
- $parent = substr($parent, 0, strrpos($parent, '/'));
+ if ($parent) {
+ do {
+ $parent = substr($parent, 0, strrpos($parent, '/'));
+ }
+ while ($parent && !array_key_exists($parent, $_menu['path index']));
}
- while ($parent && !array_key_exists($parent, $_menu['path index']));
$pid = $parent ? $_menu['path index'][$parent] : 1;
$_menu['items'][$mid]['pid'] = $pid;