I met this problem on the "angua" version and did not verify if it is fixed on the last adorabelle version...
I suppose the solution I found may help some others with the same pb...
The reason of the problem is due to recursive calls to the process_event function in './inc/events.php' that manages the triggers to the different plugins that has subscribed to events. this function does not manage recursive calls as it uses the reset and next functions to move the pointer of the array of hooks, and this pointer is lost in recursive call...
This is particularly the case with the use of indexmenu and include plugins meeting caching problems...
The solution is to modify the function in './inc/events.php' (line 162) this way :
function process_event(&$event,$advise='') {
$evt_name = $event->name . ($advise ? '_'.$advise : '_BEFORE');
if (!empty($this->_hooks[$evt_name])) {
/*
$hook = reset($this->_hooks[$evt_name]);
do {
// list($obj, $method, $param) = $hook;
$obj =& $hook[0];
$method = $hook[1];
$param = $hook[2];
if (is_null($obj)) {
$method($event, $param);
} else {
$obj->$method($event, $param);
}
} while ($event->_continue && $hook = next($this->_hooks[$evt_name]));
*/
foreach ($this->_hooks[$evt_name] as $hook)
{
$obj =& $hook[0];
$method = $hook[1];
$param = $hook[2];
if (is_null($obj)) {
$method($event, $param);
} else {
$obj->$method($event, $param);
}
if (!$event->_continue) break;
}
}
}
I'll try to take the time to report the problem if it is not fixed in the last version...