- Affected version
 - 2.2.12
 
When the listener cache is built, a falsy value is considered a non-valid hint.
	
	
	
		
Since
An explicit hint of
				
			
		PHP:
	
		public function getListenerCacheData()
	{
		$listeners = $this->finder('XF:CodeEventListener')
			->whereAddOnActive(['disableProcessing' => true])
			->where('active', 1)
			->order(['event_id', 'execute_order', 'addon_id'])
			->fetch();
		$cache = [];
		foreach ($listeners AS $listener)
		{
			$hint = $listener['hint'] ? $listener['hint'] : '_';
			$cache[$listener['event_id']][$hint][] = [$listener['callback_class'], $listener['callback_method']];
		}
		return $cache;
	}
	Since
$listener is an entity, it would also make sense to use -> property syntax instead of an array.An explicit hint of
_ should likely rejected in the CodeEventListener entity (just for admin edits?) to avoid surprises on the use of this sentinel value.