//------------------------------------------------------------------------------------- void EventDispatcher::detach(EventDispatcher & childDispatcher) { childDispatcher.detachFrom(*this); ChildDispatchers & d = childDispatchers_; d.erase(std::remove(d.begin(), d.end(), &childDispatcher), d.end()); }