- }
-
- // exact type
- insertHandlers(registeredHandlers().value(type), handlers, checkDupes);
- insertFilters(registeredFilters().value(type), filters);
-
- // check if we have a generic handler for the event group
- if((type & EventGroupMask) != type) {
- insertHandlers(registeredHandlers().value(type & EventGroupMask), handlers, true);
- insertFilters(registeredFilters().value(type & EventGroupMask), filters);
- }
-
- // now dispatch the event
- QList<Handler>::const_iterator it;
- for(it = handlers.begin(); it != handlers.end() && !event->isStopped(); ++it) {
- QObject *obj = it->object;
-
- if(ignored.contains(obj)) // object has filtered the event
- continue;
-
- if(filters.contains(obj)) { // we have a filter, so let's check if we want to deliver the event
- Handler filter = filters.value(obj);
- bool result = false;
- void *param[] = {Q_RETURN_ARG(bool, result).data(), Q_ARG(Event *, event).data() };
- obj->qt_metacall(QMetaObject::InvokeMetaMethod, filter.methodIndex, param);
- if(!result) {
- ignored.insert(obj);
- continue; // mmmh, event filter told us to not accept
- }
+
+ // exact type
+ insertHandlers(registeredHandlers().value(type), handlers, checkDupes);
+ insertFilters(registeredFilters().value(type), filters);
+
+ // check if we have a generic handler for the event group
+ if ((type & EventGroupMask) != type) {
+ insertHandlers(registeredHandlers().value(type & EventGroupMask), handlers, true);
+ insertFilters(registeredFilters().value(type & EventGroupMask), filters);