+ // Remove from the list of subscribers
+ QVector<QWeakPointer<QObject> >::iterator it = mSubscribers[id].begin();
+ QVector<QWeakPointer<QObject> >::iterator e = mSubscribers[id].end();
+ while (it != e) {
+ if (!it->isNull() && it->data() == obj)
+ it = mSubscribers[id].erase(it);
+ else
+ ++it;
+ }