+ // Remove from the list of subscribers
+ QVector<QObject *>::iterator it = mSubscribers[id].begin();
+ QVector<QObject *>::const_iterator e = mSubscribers[id].end();
+ while (it != e) {
+ if (*it == obj) {
+ it = mSubscribers[id].erase(it);
+ disconnect(*it, SIGNAL(destroyed(QObject *)), this, SLOT(subscriberDestroyed(QObject*)));
+ }
+ else {
+ ++it;
+ }
+ }