You posted a screenshot above of:
Code:
final public function preDispatch($action, $controllName)
This is not named
controller_pre_dispatch nor does it follow the callback signature you highlighted of:
Code:
XenForo_Controller $controller, $action
The bit of code that actually fires
controller_pre_dispatch, which I already posted above, is as follows:
Code:
XenForo_CodeEvent::fire('controller_pre_dispatch', array($this, $action, $controllerName), $controllerName);
Aside from this line, there is no DEFINITION in XenForo's source code about controller_pre_dispatch or its parameters. I guess I have to break this down, since you didn't see the callback signature when I posted it the first time.
XenForo_CodeEvent::fire will execute the set of listeners that is subscribed to a particular event. The event name is 'controller_pre_dispatch' and that is the one we are talking about. XenForo_CodeEvent::fire, if you delve into the source code, is essentially a wrapper function for PHP's own call_user_func_array, which takes an array and passes the contents of it as arguments to the specified function.
So in XenForo_CodeEvent::fire, it finds our function vw_XenForo_CodeEventListener_Public::controller_pre_dispa tch, and sends the following arguments to it (this is snipped directly from the line I quoted in this post and several posts ago):
Code:
array($this, $action, $controllerName)
Now this is the actual source code, and I don't know about you, but I count 3 items there. None are missing.
Now that you know where to look, I can tell you that there is a way that this error can occur. However, it is not so simple as being a result of XenForo's ControllerPublic and VaultWiki together. In order to receive the error you are seeing in your logs, the call to XenForo_CodeEvent::fire must look like this:
Code:
XenForo_CodeEvent::fire('controller_pre_dispatch', array($this, $action));
Again, this is because this is the line that ACTUALLY calls the plugin that is reporting the error.
Now I don't see this variation of the line in my installation, but you obviously have it, or something very similar to it, or you would not be getting the error. In order to help, I need the list of filenames on your site that contain this snippet, so that I can investigate further. You may have better luck simply looking for:
Code:
XenForo_CodeEvent::fire('controller_pre_dispatch'
This will actually return results that send 3 arguments or 2 arguments or no arguments, so please make sure to report ALL the results of your search.