What's the issue?
I believe, EventDispatcher is not unregistered correctly, if it is added, removed and added back again in a row. On final adding we got assert on isRegistered check.
for(auto iter = toAddedListeners.begin(); iter != toAddedListeners.end(); ++iter)
if (*iter == listener)
listener->setRegistered(false); // this row should be added in .cpp
What's the engine version?
How to reproduce it?
added, removed and added back again in a row.