Index: dotclear/plugins/widgets/class.widgets.php =================================================================== --- dotclear/plugins/widgets/class.widgets.php +++ dotclear/plugins/widgets/class.widgets.php 2010-04-29 20:43:53.000000000 +0200 @@ -145,7 +145,7 @@ public function call($i=0) { if (is_callable($this->public_callback)) { - return call_user_func($this->public_callback,$this,$i); + return call_user_func_array($this->public_callback,array(&$this,&$i)); } return '<p>Callback not found for widget '.$this->id.'</p>'; } Index: dotclear/inc/core/class.dc.core.php =================================================================== --- dotclear/inc/core/class.dc.core.php +++ dotclear/inc/core/class.dc.core.php 2010-04-29 20:43:23.000000000 +0200 @@ -300,9 +300,11 @@ array_shift($args); $res = ''; - + $Args=array(); + foreach ($args as $k => &$value) $Args[$k]=&$value; + foreach ($this->behaviors[$behavior] as $f) { - $res .= call_user_func_array($f,$args); + $res .= call_user_func_array($f,$Args); } return $res; Index: dotclear/inc/clearbricks/dblayer/dblayer.php =================================================================== --- dotclear/inc/clearbricks/dblayer/dblayer.php +++ dotclear/inc/clearbricks/dblayer/dblayer.php 2010-04-29 20:42:44.000000000 +0200 @@ -705,7 +705,9 @@ if (isset($this->__extend[$f])) { array_unshift($args,$this); - return call_user_func_array($this->__extend[$f],$args); + $Args=array(); + foreach ($args as $k => &$value) $Args[$k]=&$value; + return call_user_func_array($this->__extend[$f],$Args); } trigger_error('Call to undefined method record::'.$f.'()',E_USER_ERROR);